*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e9e2;color:#333d32;font-family:'Noto Sans KR',sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}body.cover-open,body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6e7847;outline-offset:5px}button{touch-action:manipulation}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button:disabled{cursor:wait}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}[hidden]{display:none!important}.page-wrap{width:100%;max-width:480px;margin:auto;background:#fffefb;box-shadow:0 0 80px #34392c10;overflow:hidden}.sample-note{min-height:36px;padding:8px 12px;text-align:center;background:#eef0e7;color:#4d5a47;font-size:12px;letter-spacing:.03em}.sample-note span{margin-left:8px;color:#62685e}.skip-link{position:fixed;left:12px;top:-100px;z-index:99;padding:8px 16px;background:white}.skip-link:focus{top:12px}.cover{position:fixed;z-index:20;inset:36px 0 0;width:min(100%,480px);margin:auto;background:#f6f4ed;overflow-y:auto;transition:opacity .65s,transform .65s;min-height:400px;text-align:center}.cover-photo{position:absolute;bottom:0;left:0;width:100%;height:62%;object-fit:cover;object-position:50% 65%;opacity:.76}.cover-shade{position:absolute;inset:0;background:linear-gradient(#f6f4ed 6%,#f6f4ed 25%,#f6f4ed16 60%,#f6f4ed30)}.cover-copy{position:relative;padding:clamp(36px,8svh,90px) 26px 0}.eyebrow{font-family:'Cormorant Garamond',Georgia,serif;font-size:14px;font-weight:500;letter-spacing:.21em;color:#67744d;line-height:1.5}.cover h1{font-family:'Noto Serif KR',serif;font-size:clamp(27px,7vw,34px);font-weight:400;line-height:1.85;letter-spacing:.03em;margin:22px 0}.cover-names{display:flex;align-items:center;justify-content:center;gap:22px;font-family:'Noto Serif KR',serif;font-size:18px;letter-spacing:.12em}.amp{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-style:italic;font-weight:400}.cover-date{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;letter-spacing:.16em;margin-top:10px}.open-invitation{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);border:1px solid #fff9;border-radius:40px;background:#35472e;color:white;padding:13px 28px;font-size:14px;min-height:50px;white-space:nowrap;box-shadow:0 4px 22px #2535211a;transition:background .2s}.open-invitation:hover{background:#485b3d}.open-invitation span{margin-left:25px}.cover-footnote{position:absolute;bottom:29px;left:0;right:0;font-size:12px;letter-spacing:.2em;color:#626c58}.cover.leaving{opacity:0;transform:translateY(-20px);pointer-events:none}.hero{position:relative;min-height:680px;aspect-ratio:2/3;color:#fffdef;background:#536043}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(#15291455 0%,#10220d0a 47%,#15271399 100%)}.hero-top{position:absolute;top:27px;left:27px;right:27px;display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.12em}.hero h1{position:relative;padding:76px 28px 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(65px,19vw,92px);font-weight:400;line-height:.94;letter-spacing:-.04em;text-shadow:0 2px 25px #26352433}.hero h1 em{font-weight:400}.hero-bottom{position:absolute;left:20px;right:20px;bottom:36px;text-align:center}.hero-names{display:flex;justify-content:center;align-items:center;gap:23px;font-family:'Noto Serif KR',serif;font-size:26px;letter-spacing:.12em;margin-bottom:8px}.hero-bottom>p:last-child{font-size:14px;letter-spacing:.01em}.section{padding:77px 30px;text-align:center}.section h2{font-family:'Noto Serif KR',serif;font-size:24px;line-height:1.8;font-weight:400;margin:18px 0 28px;letter-spacing:-.035em}.invitation{padding-top:78px;padding-bottom:70px}.invitation-prose{font-family:'Noto Serif KR',serif;font-size:16px;line-height:2.1;color:#565c50}.invitation-prose p+p{margin-top:25px}.couple{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:45px;padding-top:32px;border-top:1px solid #e5e5db}.couple p{display:flex;gap:12px;align-items:baseline}.couple span{font-size:13px;color:#717966}.couple strong{font-size:20px;font-family:'Noto Serif KR',serif;font-weight:500}.couple i{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;color:#788664}.date-section{background:#f3f4ec;padding-top:58px;padding-bottom:58px}.section .date-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:39px;letter-spacing:.045em;margin:8px 0 3px}.date-detail{font-size:16px}.venue-inline{font-size:14px;color:#65705a;margin-top:4px}.calendar{max-width:332px;margin:31px auto 27px;padding-top:23px;border-top:1px solid #d9dfcf}.calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center}.calendar [role=columnheader]{font-size:13px;color:#6c7367;padding-bottom:12px}.calendar [role=cell]{font-size:14px;min-height:43px;display:flex;align-items:center;justify-content:center}.calendar .sunday{color:#a46157}.calendar .selected span{display:flex;justify-content:center;align-items:center;width:34px;height:34px;background:#64734f;border-radius:50%;color:white}.countdown{display:flex;justify-content:center;align-items:center;gap:18px;padding-top:21px;border-top:1px solid #d9dfcf;max-width:332px;margin:auto}.countdown div{min-width:48px}.countdown strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;line-height:1.2;font-weight:400;font-variant-numeric:tabular-nums}.countdown span{font-size:12px;letter-spacing:.08em;color:#636e59}.countdown b{align-self:flex-start;font-weight:400;color:#949c87;line-height:34px}.countdown-message{font-size:14px;margin-top:19px}.countdown-message strong{color:#586c3d}.text-button{border:1px solid #d5dccb;background:transparent;border-radius:5px;display:inline-flex;justify-content:center;align-items:center;gap:9px;font-size:14px;padding:10px 17px;min-height:44px;margin-top:24px}.text-button:hover{background:#dce2d340}.section-caption{font-size:14px;color:#6c7665;margin-top:-12px;margin-bottom:27px}.gallery-section{padding-left:20px;padding-right:20px}.gallery-section h2{font-size:22px;letter-spacing:-.05em}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gallery-item{position:relative;display:block;padding:0;border:0;background:#f3f4ec;overflow:hidden;aspect-ratio:1/1}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .45s}.gallery-item:hover img{transform:scale(1.035)}.gallery-large{grid-row:span 2;aspect-ratio:auto}.gallery-item span{position:absolute;bottom:8px;right:9px;display:flex;justify-content:center;align-items:center;width:29px;height:29px;border-radius:50%;background:#fff9;color:#36412d;font-size:17px}.gallery-note{font-size:12px;color:#687260;margin-top:17px}.location-section{padding-top:46px;border-top:1px solid #edeee6}.location-card{background:#f5f5ef;border:1px solid #e5e8dd;padding:28px 20px}.location-icon{width:28px;height:28px;color:#7c8967;margin:0 auto 15px}.location-card h3{font-size:19px;font-weight:500}.location-card p{font-size:14px;color:#697460;margin-top:7px;word-break:keep-all}.map-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.map-links a{flex:1;text-decoration:none;font-size:14px;padding:9px;background:#fffefb;border:1px solid #dadfd3;border-radius:3px;white-space:nowrap}.transport-item{text-align:left;padding:21px 0;border-bottom:1px solid #e8eadd}.transport-item h3{font-size:15px;font-weight:500}.transport-item p{white-space:pre-line;font-size:14px;color:#6c7466;margin-top:6px}.accounts-section{background:#f3f4ec}details{text-align:left;border:1px solid #dae0d1;border-radius:4px;background:#fffefb;margin-top:12px}summary{padding:15px 20px;cursor:pointer;font-size:15px}.account-row{padding:13px 20px;border-top:1px solid #e6e9de}.account-row p{font-size:14px}.account-row button{font-size:13px;background:transparent;border:1px solid #d8ddce;border-radius:3px;min-height:44px;padding:5px 14px;margin-top:10px}.footer{background:#e9eddf;text-align:center;padding:53px 25px 29px}.closing-script{font-family:'Cormorant Garamond',Georgia,serif;font-size:39px;font-style:italic;line-height:1.3;color:#4e6240}.footer>p:nth-child(2){font-size:14px;margin-top:17px;color:#606c54}.footer-names{display:flex;align-items:center;justify-content:center;gap:19px;font-family:'Noto Serif KR',serif;font-size:20px;margin-top:26px}.footer-names>span:nth-child(2){font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-style:italic}.footer .text-button{margin-top:32px;background:#f9faf580}.reopen{display:block;min-height:44px;margin:10px auto 25px;border:0;background:transparent;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#68745b}.footer-sample{font-size:12px;color:#626f57}.photo-dialog{padding:0;border:0;width:min(100%,600px);max-width:100%;max-height:100dvh;background:#192016;color:#fffef6;margin:auto;overflow:auto;box-shadow:0 20px 100px #0006}.photo-dialog::backdrop{background:#11190ee8}.lightbox-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 12px 22px}.lightbox-head span{font-size:14px;letter-spacing:.12em}.photo-dialog button{background:transparent;border:1px solid #ffffff40;border-radius:50%;width:44px;height:44px;color:white;font-size:19px}.photo-dialog>img{width:100%;height:65dvh;min-height:220px;object-fit:contain}.lightbox-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px}.lightbox-navigation p{font-size:14px;text-align:center}.toast{position:fixed;z-index:50;bottom:30px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100% - 40px);width:max-content;text-align:center;padding:13px 20px;border-radius:6px;background:#2e3d28;color:#fff;font-size:14px;transition:opacity .2s,transform .2s;box-shadow:0 5px 20px #0002}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{text-align:center;font-size:14px;padding:12px}.copy-fallback{display:block;width:100%;margin-top:8px;padding:10px;border:1px solid #bbc5ad;background:#fff;color:#24311f;font:inherit}
@media(min-width:760px){body{background:radial-gradient(ellipse at 10% 30%,#e0e4d7,transparent 60%),#eeeee9}.page-wrap{border-left:1px solid #d5d9cb;border-right:1px solid #d5d9cb}.hero{min-height:720px}.cover{border-left:1px solid #d5d9cb;border-right:1px solid #d5d9cb}}
@media(max-width:359px){.section{padding-left:21px;padding-right:21px}.section h2{font-size:21px}.invitation-prose{font-size:16px}.hero{min-height:590px}.hero h1{font-size:68px}.hero-top{left:20px;right:20px;letter-spacing:.06em}.hero-bottom>p:last-child{font-size:13px}.couple{gap:23px}.couple p{gap:8px}.countdown{gap:12px}.gallery-section{padding-left:14px;padding-right:14px}.cover h1{font-size:26px}}
@media(max-height:660px){.cover-copy{padding-top:28px}.cover h1{font-size:26px;line-height:1.65;margin:14px 0}.cover-date{margin-top:2px}.cover-photo{height:60%}.open-invitation{bottom:53px}.cover-footnote{bottom:20px}}
.cover{display:flex;flex-direction:column;min-height:0;height:calc(100dvh - 36px)}.cover-copy{flex-shrink:0}.open-invitation{position:relative;left:auto;bottom:auto;transform:none;align-self:center;flex-shrink:0;margin:clamp(50px,18svh,180px) auto 0}.cover-footnote{position:relative;bottom:auto;left:auto;right:auto;flex-shrink:0;padding:19px 0 25px}.cover-photo,.cover-shade{pointer-events:none}.cover{padding-bottom:0}.lightbox-navigation button{flex-shrink:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
