:root{--wpost-bg:#f5ebd7;--wpost-bg-soft:#ebe0c2;--wpost-paper:#faf3df;--wpost-text:#2d261c;--wpost-text-soft:#6b5d44;--wpost-red:#c8102e;--wpost-blue:#1f4e8c;--wpost-border:#2d261c2e;--wpost-font-script:"Caveat", "Pretendard", cursive;--wpost-font-display:"Cormorant Garamond", serif;--wpost-font-body:"Pretendard", -apple-system, sans-serif;--wpost-max-width:1100px;--wpost-section-pad-y:100px}@media (width<=767px){:root{--wpost-section-pad-y:64px}}.wedding-postal{box-sizing:border-box}.wedding-postal *,.wedding-postal :before,.wedding-postal :after{box-sizing:inherit}.wedding-postal h1,.wedding-postal h2,.wedding-postal h3,.wedding-postal h4,.wedding-postal h5,.wedding-postal h6,.wedding-postal p,.wedding-postal ul,.wedding-postal ol,.wedding-postal figure,.wedding-postal blockquote{margin:0;padding:0}.wedding-postal ul,.wedding-postal ol{list-style:none}.wedding-postal img,.wedding-postal picture,.wedding-postal video,.wedding-postal svg{max-width:100%;height:auto;display:block}.wedding-postal a{color:inherit;text-decoration:none}.wedding-postal button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.wedding-postal :focus-visible{outline:2px solid var(--wpost-red);outline-offset:4px}.wedding-postal{background:var(--wpost-bg);color:var(--wpost-text);font-family:var(--wpost-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.005em;background-image:radial-gradient(circle at 25% 30%,#c8102e06 0%,#0000 50%),radial-gradient(circle at 75% 70%,#1f4e8c06 0%,#0000 50%);min-height:100vh;font-size:15px;line-height:1.75}.wedding-postal .wpost-script{font-family:var(--wpost-font-script);font-weight:600;line-height:1.1}.wedding-postal .wpost-display{font-family:var(--wpost-font-display);font-weight:500}.wedding-postal .wpost-eyebrow{font-family:var(--wpost-font-display);color:var(--wpost-red);letter-spacing:.04em;align-items:center;gap:12px;font-size:16px;font-style:italic;display:inline-flex}.wedding-postal .wpost-eyebrow:before,.wedding-postal .wpost-eyebrow:after{content:"";background:currentColor;width:28px;height:1px}.wedding-postal [data-wpost-reveal]{opacity:0;transition:opacity .85s,transform .85s;transform:translateY(28px)}.wedding-postal [data-wpost-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.wedding-postal [data-wpost-reveal]{opacity:1;transition:none;transform:none}}.wedding-postal .wpost-container{width:100%;max-width:var(--wpost-max-width);margin:0 auto;padding:0 24px}@media (width>=768px){.wedding-postal .wpost-container{padding:0 40px}}.wedding-postal .wpost-section{padding-top:var(--wpost-section-pad-y);padding-bottom:var(--wpost-section-pad-y)}.wedding-postal .wpost-section-header{text-align:center;margin-bottom:56px}.wedding-postal .wpost-section-eyebrow{margin-bottom:16px}.wedding-postal .wpost-section-title{font-family:var(--wpost-font-script);color:var(--wpost-text);margin-bottom:8px;font-size:clamp(40px,6vw,60px);font-weight:600;line-height:1.1}.wedding-postal .wpost-section-title-sub{font-family:var(--wpost-font-display);color:var(--wpost-text-soft);font-size:14px;font-style:italic}.wedding-postal .wpost-airmail-border{background-image:repeating-linear-gradient(45deg, var(--wpost-red) 0, var(--wpost-red) 10px, transparent 10px, transparent 20px, var(--wpost-blue) 20px, var(--wpost-blue) 30px, transparent 30px, transparent 40px);height:6px}:root{--demo-bar-bg:#f5ebd7eb;--demo-bar-text:#2d261c;--demo-bar-border:#c8102e66;--demo-fab-bg:#c8102e;--demo-fab-icon:#f5ebd7}.wedding-postal .wpost-envelope-section{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 24px 80px;display:flex;position:relative}.wedding-postal .wpost-envelope{aspect-ratio:7/5;cursor:pointer;perspective:1200px;width:100%;max-width:540px;position:relative}.wedding-postal .wpost-envelope-body{background:var(--wpost-paper);border:1px solid var(--wpost-border);transition:overflow 0s .2s;position:absolute;inset:0;overflow:hidden;box-shadow:0 20px 60px #2d261c2e}.wedding-postal .wpost-envelope.is-open .wpost-envelope-body{overflow:visible}.wedding-postal .wpost-envelope-body:before{content:"";border:6px solid #0000;border-image:repeating-linear-gradient(45deg, var(--wpost-red) 0 12px, var(--wpost-blue) 12px 24px) 6;pointer-events:none;position:absolute;inset:0}.wedding-postal .wpost-envelope-addresses{z-index:1;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:32px}.wedding-postal .wpost-envelope-addr{font-family:var(--wpost-font-script);color:var(--wpost-text);font-size:16px;line-height:1.4}.wedding-postal .wpost-envelope-addr-label{font-family:var(--wpost-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--wpost-red);margin-bottom:4px;font-size:10px}.wedding-postal .wpost-envelope-addr--to{text-align:right;align-self:flex-end}.wedding-postal .wpost-stamp{background:var(--wpost-bg);border:2px dashed var(--wpost-red);z-index:2;width:86px;height:96px;padding:6px;position:absolute;top:24px;right:24px;transform:rotate(2deg)}.wedding-postal .wpost-stamp-inner{background:var(--wpost-blue);width:100%;height:100%;color:var(--wpost-bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:6px;display:flex}.wedding-postal .wpost-stamp-mark{font-family:var(--wpost-font-display);letter-spacing:.12em;margin-bottom:4px;font-size:9px;line-height:1.2}.wedding-postal .wpost-stamp-icon{font-family:var(--wpost-font-display);color:var(--wpost-bg);font-size:26px;font-style:italic;line-height:1}.wedding-postal .wpost-envelope-flap{background:var(--wpost-bg-soft);border-bottom:1px solid var(--wpost-border);transform-origin:top;z-index:3;transition:transform .85s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 0 50%;transform:rotateX(0)}.wedding-postal .wpost-envelope-flap:after{content:"";background:linear-gradient(135deg, transparent 49%, var(--wpost-border) 50%, transparent 51%) bottom left/50% 100% no-repeat, linear-gradient(225deg, transparent 49%, var(--wpost-border) 50%, transparent 51%) bottom right/50% 100% no-repeat;position:absolute;inset:0}.wedding-postal .wpost-envelope.is-open .wpost-envelope-flap{transform:rotateX(180deg)}.wedding-postal .wpost-letter{background:var(--wpost-paper);border:1px solid var(--wpost-border);opacity:.7;z-index:2;padding:30px 32px 28px;transition:transform .85s cubic-bezier(.2,.8,.2,1) .2s,opacity .6s .3s;position:absolute;inset:0;overflow:hidden;transform:translateY(0)scale(.96)}.wedding-postal .wpost-envelope.is-open .wpost-letter{opacity:1;z-index:5;transform:translateY(-72%)scale(1)}.wedding-postal .wpost-letter-line{background:var(--wpost-border);height:1px;margin-bottom:12px}.wedding-postal .wpost-letter-greeting{font-family:var(--wpost-font-script);color:var(--wpost-text);margin-bottom:6px;font-size:24px;line-height:1.2}.wedding-postal .wpost-letter-tease{font-family:var(--wpost-font-display);color:var(--wpost-text-soft);font-size:13px;font-style:italic}.wedding-postal .wpost-envelope-hint{font-family:var(--wpost-font-display);color:var(--wpost-text-soft);margin-top:32px;font-size:14px;font-style:italic}.wedding-postal .wpost-letter-section{background:var(--wpost-bg)}.wedding-postal .wpost-letter-card{background:var(--wpost-paper);border:1px solid var(--wpost-border);max-width:760px;margin:0 auto;padding:56px 56px 64px;position:relative;box-shadow:0 20px 60px #2d261c1f}.wedding-postal .wpost-letter-card:before,.wedding-postal .wpost-letter-card:after{content:"";height:6px;position:absolute;left:0;right:0}.wedding-postal .wpost-letter-card:before{background-image:repeating-linear-gradient(45deg, var(--wpost-red) 0 12px, var(--wpost-blue) 12px 24px);top:0}.wedding-postal .wpost-letter-card:after{background-image:repeating-linear-gradient(45deg, var(--wpost-red) 0 12px, var(--wpost-blue) 12px 24px);bottom:0}.wedding-postal .wpost-letter-greeting-big{font-family:var(--wpost-font-script);color:var(--wpost-text);margin-bottom:24px;font-size:clamp(36px,5vw,52px);line-height:1}.wedding-postal .wpost-letter-body p{font-family:var(--wpost-font-script);color:var(--wpost-text);font-size:21px;line-height:1.85}.wedding-postal .wpost-letter-body p+p{margin-top:14px}.wedding-postal .wpost-letter-signature{text-align:right;font-family:var(--wpost-font-script);color:var(--wpost-red);margin-top:28px;font-size:28px}@media (width<=600px){.wedding-postal .wpost-letter-card{padding:40px 28px 48px}}.wedding-postal .wpost-postcards-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=720px){.wedding-postal .wpost-postcards-grid{grid-template-columns:1fr 1fr;gap:40px 32px}}.wedding-postal .wpost-postcard{background:var(--wpost-paper);border:1px solid var(--wpost-border);transition:transform .4s,box-shadow .4s;position:relative;box-shadow:0 14px 36px #2d261c24}.wedding-postal .wpost-postcard:nth-child(odd){transform:rotate(-1deg)}.wedding-postal .wpost-postcard:nth-child(2n){transform:rotate(1deg)}.wedding-postal .wpost-postcard:hover{transform:rotate(0);box-shadow:0 22px 50px #2d261c33}.wedding-postal .wpost-postcard-image{aspect-ratio:4/3;background:var(--wpost-bg-soft);overflow:hidden}.wedding-postal .wpost-postcard-image img{object-fit:cover;filter:sepia(.2)contrast(1.05);width:100%;height:100%}.wedding-postal .wpost-postcard-meta{border-top:1px solid var(--wpost-border);grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;padding:18px 22px 22px;display:grid}.wedding-postal .wpost-postcard-num{font-family:var(--wpost-font-display);color:var(--wpost-red);font-size:22px;font-style:italic;line-height:1}.wedding-postal .wpost-postcard-city{font-family:var(--wpost-font-script);color:var(--wpost-text);font-size:22px;line-height:1}.wedding-postal .wpost-postmark{border:2px solid var(--wpost-red);width:56px;height:56px;color:var(--wpost-red);font-family:var(--wpost-font-display);text-align:center;letter-spacing:.06em;opacity:.85;border-radius:50%;justify-content:center;align-items:center;font-size:9px;display:flex;transform:rotate(-12deg)}.wedding-postal .wpost-postcard-caption{font-family:var(--wpost-font-display);color:var(--wpost-text-soft);grid-column:1/-1;margin-top:4px;font-size:13px;font-style:italic}.wedding-postal .wpost-destination{background:var(--wpost-bg-soft)}.wedding-postal .wpost-destination-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=880px){.wedding-postal .wpost-destination-grid{grid-template-columns:1fr 1.4fr}}.wedding-postal .wpost-destination-card{background:var(--wpost-paper);border:1px solid var(--wpost-border);padding:32px 30px;position:relative}.wedding-postal .wpost-destination-stamp{border:3px solid var(--wpost-red);width:84px;height:84px;color:var(--wpost-red);text-align:center;font-family:var(--wpost-font-display);letter-spacing:.06em;background:var(--wpost-paper);border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1.4;display:flex;position:absolute;top:-12px;right:24px;transform:rotate(-6deg)}.wedding-postal .wpost-destination-eyebrow{font-family:var(--wpost-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--wpost-red);margin-bottom:12px;font-size:10px}.wedding-postal .wpost-destination-name{font-family:var(--wpost-font-script);color:var(--wpost-text);margin-bottom:6px;font-size:clamp(28px,4vw,38px);line-height:1}.wedding-postal .wpost-destination-name-kr{font-family:var(--wpost-font-display);color:var(--wpost-text-soft);margin-bottom:22px;font-size:14px;font-style:italic}.wedding-postal .wpost-destination-row{border-top:1px dashed var(--wpost-border);padding:12px 0}.wedding-postal .wpost-destination-row-label{font-family:var(--wpost-font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--wpost-blue);margin-bottom:4px;font-size:10px}.wedding-postal .wpost-destination-row-value{font-family:var(--wpost-font-display);color:var(--wpost-text);font-size:16px}.wedding-postal .wpost-destination-map{background:var(--wpost-paper);border:1px solid var(--wpost-border);height:100%;min-height:360px;overflow:hidden}.wedding-postal .wpost-destination-map iframe{filter:sepia(.3)brightness(.95);border:0;width:100%;height:100%}.wedding-postal .wpost-footer{text-align:center;border-top:1px solid var(--wpost-border);padding:80px 24px 56px}.wedding-postal .wpost-footer-thanks{font-family:var(--wpost-font-script);color:var(--wpost-red);margin-bottom:14px;font-size:clamp(40px,6vw,64px);line-height:.95}.wedding-postal .wpost-footer-sub{font-family:var(--wpost-font-display);color:var(--wpost-text-soft);margin-bottom:32px;font-size:14px;font-style:italic}.wedding-postal .wpost-footer-disclaimer{max-width:580px;color:var(--wpost-text-soft);border-top:1px solid var(--wpost-border);margin:0 auto;padding-top:24px;font-size:11px;line-height:1.85}
