:root{--accent:#EE5B2B;--ink:#161412;--ink-soft:#3A1A0C;--bg:#161412;--bg-alt:#1D1A17;--surface:#24201C;--footer:#110F0D;--line:#2E2A26;--border:#3A3530;--text:#EDE6DA;--text-muted:#B3AB9F;--text-faint:#8C857B;--holiday:#E8806F;font-family:Pretendard,Noto Sans KR,sans-serif;color:var(--text);background:var(--footer);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page-shell{max-width:430px;margin:0 auto;background:var(--bg);min-height:100vh;overflow:hidden}.site-header{height:56px;background:var(--accent);color:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 24px;position:sticky;top:0;z-index:20}.brand{font-family:"Instrument Serif",serif;font-size:19px}.menu-toggle{width:44px;height:44px;border:0;background:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-toggle span{width:20px;height:1px;background:var(--ink);transition:transform .25s,opacity .25s}.menu-toggle.is-open span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:last-child{transform:translateY(-6px) rotate(-45deg)}.site-menu{position:absolute;top:56px;left:0;right:0;background:var(--accent);padding:12px 24px 24px;box-shadow:0 12px 18px #0004}.site-menu a{display:block;min-height:44px;padding:12px 0;border-top:1px solid #16141230;font-size:12px;font-weight:700;letter-spacing:.15em}.hero{background:var(--accent);color:var(--ink);padding:66px 24px 80px;text-align:center;scroll-margin-top:56px}.eyebrow{font-size:11px;letter-spacing:.32em;color:var(--ink-soft);margin:0 0 43px}.hero h1{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:clamp(58px,16vw,74px);font-weight:700;letter-spacing:-.07em;line-height:1.1}.hero h1 em{font-family:"Instrument Serif",serif;font-weight:400;font-size:34px;letter-spacing:0;line-height:1.1}.hero-rule{width:40px;height:1px;background:var(--ink);margin:42px auto 28px}.hero-date{font-size:14px;font-weight:500;letter-spacing:.03em;margin:0 0 13px}.hero-venue{font-size:13px;margin:0}.orange-band{height:56px;background:var(--accent);color:var(--ink);border-top:1px solid #16141255;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-family:"Instrument Serif",serif;font-style:italic;font-size:18px}.section{padding:80px 24px;border-top:1px solid var(--line);scroll-margin-top:56px}.join{padding-top:96px;padding-bottom:96px;text-align:center}.join h2{font-family:"Instrument Serif",serif;font-size:42px;line-height:1.1;font-weight:400;margin:0}.join h2 em{font-weight:400}.family{margin-top:56px}.family p{display:flex;align-items:baseline;justify-content:center;gap:7px;flex-wrap:wrap;margin:12px 0;font-size:15px;font-weight:500}.family small{font-size:12px;color:var(--text-faint)}.family strong{font-size:16px}.section-label{display:flex;align-items:baseline;gap:12px;color:var(--accent);margin-bottom:48px}.section-label em{font:italic 16px "Instrument Serif",serif}.section-label span{font-size:11px;font-weight:500;letter-spacing:.28em}.invitation{text-align:center}.invitation .section-label{text-align:left}.invitation-copy{font-size:15px;line-height:2;color:var(--text-muted);white-space:pre-line;margin:0}.signature{font-size:13px;color:var(--text-faint);margin:36px 0 0}.day{text-align:center}.day .section-label{text-align:left}.day h2{font:400 clamp(48px,13vw,60px)/1 "Instrument Serif",serif;margin:0 0 14px}.day-time{font-size:14px;color:var(--text-muted);margin:0}.subtle-rule{height:1px;background:var(--line);margin:45px 0 31px}.month-name{font:italic 30px "Instrument Serif",serif;margin:0 0 28px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.weekday{height:28px;font-size:11px;color:var(--text-faint);display:grid;place-items:center}.calendar-cell{height:44px;display:grid;place-items:center;font:19px "Instrument Serif",serif}.sunday{color:var(--holiday)}.calendar-cell.wedding-date span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink)}.dday{font-size:14px;color:var(--text-muted);margin:33px 0 0}.dday strong{color:var(--accent);font-size:19px;margin:0 3px}.location{background:var(--bg-alt);padding-left:16px;padding-right:16px}.location>.section-label,.location>h2,.location>.hall,.location>.address,.location>.phone{margin-left:8px;margin-right:8px}.location h2{font-size:20px;margin-top:0;margin-bottom:9px}.hall{font-size:14px;color:var(--text-muted)}.address{font-size:14px;color:var(--text-muted);line-height:1.8;margin-top:0;margin-bottom:9px}.address span{color:var(--text-faint);font-size:12px}.phone{display:inline-block;font-size:14px;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding-top:8px}.route-map{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;margin:20px 0 16px;background:var(--surface)}.map-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.map-actions a,.map-actions span{min-height:44px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:11px;font-weight:500;white-space:nowrap}.map-actions .pending-link{color:var(--text-faint);border-style:dashed}.copy-address{display:block;margin:19px auto 42px;color:var(--text);border:1px solid var(--border);border-radius:999px;min-height:44px;background:none;padding:0 22px;font-size:13px}.transit>div{border-top:1px solid var(--line);padding:18px 8px}.transit strong{font-size:14px}.transit p{font-size:14px;color:var(--text-muted);line-height:1.7;margin:8px 0 0}.share{text-align:center}.share .section-label{text-align:left}.share>p{font-size:15px;color:var(--text-muted);margin:0 0 36px}.share-actions{display:flex;justify-content:center;gap:28px}.share-actions button{border:0;background:none;color:var(--text);padding:0;display:flex;flex-direction:column;align-items:center;gap:10px}.share-actions button span{width:56px;height:56px;border:1px solid var(--border);border-radius:50%;background:var(--surface);display:grid;place-items:center}.share-actions svg{width:24px;height:24px}.share-actions small{font-size:11px;letter-spacing:.18em;color:var(--text-faint)}footer{background:var(--footer);border-top:1px solid var(--line);text-align:center;padding:48px 24px}footer p{font:italic 24px "Instrument Serif",serif;margin:0 0 15px}footer p em{font-weight:400}footer small{font-size:11px;letter-spacing:.2em;color:var(--text-faint)}.toast{position:fixed;z-index:40;bottom:28px;left:50%;transform:translate(-50%);background:var(--text);color:var(--ink);padding:12px 19px;border-radius:999px;white-space:nowrap;font-size:13px;box-shadow:0 8px 28px #0008}@media(max-width:350px){.hero h1{font-size:54px}.map-actions a,.map-actions span{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header{animation:header-enter .65s cubic-bezier(.22,1,.36,1) both}.hero{padding:66px 24px 0}.hero .eyebrow{margin-bottom:32px;animation:intro-rise .7s cubic-bezier(.22,1,.36,1) .12s both}.hero h1{gap:1px;font-size:clamp(43px,11.5vw,58px);line-height:1.06;letter-spacing:-.055em}.hero h1 span,.hero h1 em{display:block;white-space:nowrap}.hero h1 span{font-family:"Instrument Serif",serif;font-size:1.1em;font-weight:400;letter-spacing:-.035em;animation:intro-rise .85s cubic-bezier(.22,1,.36,1) .24s both}.hero h1 em{font-size:clamp(52px,14vw,70px);font-style:italic;letter-spacing:-.035em;animation:intro-rise .9s cubic-bezier(.22,1,.36,1) .39s both}.hero-photo{margin:44px -24px 0;overflow:hidden;background:#77726d;line-height:0;animation:photo-reveal 1.2s cubic-bezier(.22,1,.36,1) .52s both}.hero-photo img{display:block;width:100%;height:auto;animation:photo-settle 1.75s cubic-bezier(.22,1,.36,1) .52s both}.hero-details{padding:0 0 70px;animation:intro-rise .8s cubic-bezier(.22,1,.36,1) 1.05s both}.hero-details .hero-rule{margin:40px auto 26px}@keyframes header-enter{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-reveal{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes photo-settle{0%{transform:scale(1.07)}to{transform:scale(1)}}@media(max-width:350px){.hero h1{font-size:41px}.hero h1 em{font-size:50px}}@media(prefers-reduced-motion:reduce){.site-header,.hero .eyebrow,.hero h1 span,.hero h1 em,.hero-photo,.hero-photo img,.hero-details{animation:none!important}}:root{--accent: #98583c;--ink: #2b2723;--ink-soft: #675448;--bg: #f8f5ee;--bg-alt: #f3eee5;--surface: #efe8dc;--footer: #f5f0e7;--line: #d9cfc2;--border: #cfc3b4;--text: #2b2723;--text-muted: #5b534b;--text-faint: #71665b;--holiday: #a35e50}.site-header,.hero{background:var(--bg)}.site-header{border-bottom:1px solid var(--line)}.site-menu{background:var(--bg);box-shadow:0 14px 24px #2b27231a}.site-menu a{border-top-color:var(--line)}.hero-photo{background:#d8d1c6}.hero-rule{background:var(--accent)}.orange-band{background:var(--bg-alt);color:var(--text-muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-cell.wedding-date span{background:#3e4f3a;color:#f7f4ee}.dday strong{color:#3e4f3a}.map-actions a:hover,.copy-address:hover,.share-actions button:hover span{background:#e6d9c8}.toast{background:var(--ink);color:var(--bg);box-shadow:0 8px 28px #2b27232b}.gallery{background:#f0ece5;padding:88px 16px 78px;text-align:center}.heart .section-label{text-align:left}.gallery h2{margin:0 0 10px;font:italic 37px/1 "Instrument Serif",serif;letter-spacing:-.015em}.gallery-subtitle{margin:0 0 40px;color:var(--text-muted);font-size:13px;letter-spacing:.2em}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:5px;aspect-ratio:1 / 1}.gallery-tile{position:relative;display:grid;place-items:center;overflow:hidden;background:#ded8ce;color:#8a7969;border-radius:5px}.gallery-tile:nth-child(3n){background:#e8e3db}.gallery-tile:nth-child(4n){background:#e4dfd6}.gallery-tile-large{grid-column:span 2;grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover}.gallery-tile span{font-size:11px;line-height:1.5;letter-spacing:.17em}.gallery-tile-large span{font-size:12px}.gallery-tile-more span{font:italic 21px/1.15 "Instrument Serif",serif;letter-spacing:0}.gallery-tile-more{background:#d2cbc0}.family{width:max-content;max-width:100%;margin:56px auto 0}.family p{display:grid;grid-template-columns:max-content 36px max-content;align-items:baseline;column-gap:8px;justify-content:center;text-align:left}.family p span{text-align:right;white-space:nowrap}.family p small,.family p strong{text-align:left;white-space:nowrap}.day{padding:75px 16px 82px}.day-heading h2{margin:0;font:italic 37px/1 "Instrument Serif",serif;letter-spacing:-.02em}.day-heading p{margin:12px 0 46px;color:var(--text-muted);font-size:13px;letter-spacing:.22em}.day-date{margin:0 0 12px;font:400 clamp(50px,13vw,58px)/1 "Instrument Serif",serif;letter-spacing:-.035em}.day-time{font-size:15px}.day .calendar-rule{margin:45px 0 24px}.day .weekday{height:43px;font-size:12px}.day .calendar-cell{height:52px;font-size:20px}.day .calendar-cell.wedding-date span{width:44px;height:44px}.day .countdown-rule{margin:30px 0 36px}.countdown{display:grid;grid-template-columns:1fr 14px 1fr 14px 1fr 14px 1fr;align-items:start;margin:0 4px}.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:7px}.countdown-unit>span{font:italic 37px/1 "Instrument Serif",serif;font-variant-numeric:tabular-nums}.countdown-unit small{color:var(--accent);font-size:10px;letter-spacing:.17em}.countdown-separator{margin-top:6px;color:var(--border);font:25px/1 "Instrument Serif",serif}.day .dday{margin:25px 0 0;color:var(--text-muted);font-size:13px;line-height:1.6}.day .dday strong{color:#3e4f3a;font-size:15px;margin:0 2px}.hero-photo.paper-reveal{position:relative;animation:none}.hero-photo.paper-reveal .hero-photo-actual{animation:none;position:relative;z-index:6;opacity:0}.hero-photo.paper-reveal.is-playing .hero-photo-actual{animation:paper-photo-finish .9s ease-in-out 3.25s both}.hero-photo.paper-reveal.is-complete .hero-photo-actual{animation:none;opacity:1;transform:none}.hero-photo.paper-reveal .hero-paper-layer{position:absolute;inset:0;display:grid;place-items:center;background:#fff;pointer-events:none;z-index:1;overflow:hidden}.hero-photo.paper-reveal .hero-paper-layer img{width:100%;height:100%;object-fit:contain;animation:none}.hero-photo.paper-reveal .hero-person-layer{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none;background:center / 100% 100% no-repeat url(/hero-photo.webp);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;--person-reveal: .01}.hero-photo.paper-reveal .hero-person-bride{-webkit-mask-image:radial-gradient(ellipse calc(38% * var(--person-reveal)) calc(62% * var(--person-reveal)) at 30% 51%,#000 53%,#000b 74%,transparent 100%);mask-image:radial-gradient(ellipse calc(38% * var(--person-reveal)) calc(62% * var(--person-reveal)) at 30% 51%,#000 53%,#000b 74%,transparent 100%)}.hero-photo.paper-reveal .hero-person-groom{z-index:4;-webkit-mask-image:radial-gradient(ellipse calc(36% * var(--person-reveal)) calc(62% * var(--person-reveal)) at 63% 50%,#000 60%,#000b 80%,transparent 100%);mask-image:radial-gradient(ellipse calc(36% * var(--person-reveal)) calc(62% * var(--person-reveal)) at 63% 50%,#000 60%,#000b 80%,transparent 100%)}.hero-photo.paper-reveal.is-playing .hero-person-bride{animation:person-enter .65s cubic-bezier(.2,1,.3,1) 1.15s both}.hero-photo.paper-reveal.is-playing .hero-person-groom{animation:person-enter .65s cubic-bezier(.2,1,.3,1) 2.55s both}.hero-photo.paper-reveal .paper-eraser,.hero-photo.paper-reveal .paper-character{position:absolute;inset:0;pointer-events:none}.hero-photo.paper-reveal .paper-eraser{z-index:2;background:#fff}.hero-photo.paper-reveal .paper-character{z-index:5;background:center / contain no-repeat url(/paper-illustration.webp)}.hero-photo.paper-reveal .paper-bride{transform-origin:43% 53%}.hero-photo.paper-reveal .paper-groom{transform-origin:70% 52%}.hero-photo.paper-reveal.is-playing .paper-bride{animation:bride-paper-step 1.2s ease-in-out .4s both}.hero-photo.paper-reveal.is-playing .paper-groom{animation:groom-paper-step 1.2s ease-in-out 1.8s both}@keyframes bride-paper-step{0%,8%{opacity:1;transform:none;filter:none}40%{opacity:1;transform:translate(-5%,-29%) rotate(-6deg) scale(1.03);filter:drop-shadow(0 14px 12px #28251f35)}68%{opacity:1;transform:translate(-10%,-22%) rotate(0) scale(.98);filter:drop-shadow(0 5px 7px #28251f24)}80%{opacity:1;transform:translate(-10%,-22%) scale(1.07);filter:none}to{opacity:0;transform:translate(-10%,-22%) scale(.2);filter:blur(2px)}}@keyframes groom-paper-step{0%,8%{opacity:1;transform:none;filter:none}40%{opacity:1;transform:translate(-3%,-30%) rotate(6deg) scale(1.03);filter:drop-shadow(0 14px 12px #28251f35)}68%{opacity:1;transform:translate(-6%,-24%) rotate(0) scale(.98);filter:drop-shadow(0 5px 7px #28251f24)}80%{opacity:1;transform:translate(-6%,-24%) scale(1.07);filter:none}to{opacity:0;transform:translate(-6%,-24%) scale(.2);filter:blur(2px)}}@property --person-reveal{syntax: "<number>"; inherits: false; initial-value: .01;}@keyframes person-enter{0%{opacity:1;--person-reveal: .01;filter:brightness(1.45) blur(4px)}55%{filter:brightness(1.12) blur(1px)}to{opacity:1;--person-reveal: 1;filter:none}}@keyframes paper-photo-finish{0%{opacity:0}to{opacity:1}}.heart{background:var(--bg);text-align:center}.location-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 8px 10px}.location-heading h2{flex:1;min-width:0;margin:0;font-size:clamp(17px,5vw,20px)}.location-heading .copy-address{flex:none;min-height:44px;margin:0;padding:0 12px;border-color:var(--line);background:#fffdf9;color:#3e4f3a;font-size:11px;font-weight:600;white-space:nowrap}.map-actions{margin-bottom:18px}.heart h2{margin:-8px 0 15px;font-size:22px;font-weight:600;letter-spacing:-.04em}.heart-intro{margin:0 0 38px;font-size:13px;line-height:1.85;color:var(--text-muted)}.account-list{display:grid;gap:12px}.account-item{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fffdf9;transition:border-color .25s ease,box-shadow .25s ease}.account-item.is-open{border-color:#8c9b82;box-shadow:0 10px 28px #3e4f3a12}.account-item>.account-trigger{width:100%;min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 14px 20px;border:0;background:transparent;color:var(--text);text-align:left}.account-trigger-copy{display:grid;gap:5px}.account-trigger-copy small{color:#65745f;font:italic 13px "Instrument Serif",serif;letter-spacing:.08em}.account-trigger-copy strong{font-size:16px;font-weight:600;letter-spacing:-.025em}.account-toggle{width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid #b8c1b1;border-radius:50%;color:#3e4f3a;transition:transform .25s ease,background .25s ease,color .25s ease}.account-toggle svg{width:17px;height:17px}.account-trigger[aria-expanded=true] .account-toggle{transform:rotate(180deg);background:#3e4f3a;color:#fffdf9}.account-detail{padding:2px 20px 8px;border-top:1px solid var(--line);text-align:left}.account-row{padding:17px 0 18px}.account-row+.account-row{border-top:1px solid var(--line)}.account-row-head,.account-row-number{display:flex;align-items:center;justify-content:space-between;gap:10px}.account-row-head strong{font-size:14px;font-weight:600}.account-row-head span{color:var(--text-muted);font-size:12px}.account-row-number{margin-top:12px;padding:7px 8px 7px 13px;border-radius:12px;background:#f1f4ee}.account-row-number span{color:#2f4030;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.015em;white-space:nowrap}.account-row-number button{min-width:62px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid #b8c1b1;border-radius:999px;background:transparent;color:#3e4f3a;font-size:11px;font-weight:600}.account-row-number button svg{width:15px;height:15px}.account-row-number button:hover{background:#e3eadd}@media(max-width:350px){.account-row-number{padding-left:10px}.account-row-number span{font-size:15px;letter-spacing:0}}.share-actions .kakao-share span{background:#fee500;border-color:#fee500;color:#191919}.share-actions .kakao-share:hover span{background:#f5da00}.hero h1{font-size:clamp(43px,11vw,55px)}.hero h1 em{font-size:clamp(49px,12.6vw,61px)}@media(max-width:350px){.hero h1{font-size:40px}.hero h1 em{font-size:47px}}@media(prefers-reduced-motion:reduce){.hero-photo.paper-reveal .hero-paper-layer,.hero-photo.paper-reveal .hero-person-layer,.hero-photo.paper-reveal .paper-eraser,.hero-photo.paper-reveal .paper-character{display:none}.hero-photo.paper-reveal .hero-photo-actual{animation:none!important;opacity:1;transform:none}}
