:root{--wv-bg:#fff;--wv-bg-soft:#f5f5f5;--wv-text:#0a0a0a;--wv-text-soft:#666;--wv-red:#ff5252;--wv-yellow:#ffd600;--wv-blue:#2962ff;--wv-border:#111;--wv-font-display:"Archivo Black", "Pretendard", sans-serif;--wv-font-body:"Inter", "Pretendard", -apple-system, sans-serif;--wv-max-width:1200px;--wv-section-pad-y:120px}@media (width<=767px){:root{--wv-section-pad-y:72px}}.wedding-vivid{box-sizing:border-box}.wedding-vivid *,.wedding-vivid :before,.wedding-vivid :after{box-sizing:inherit}.wedding-vivid h1,.wedding-vivid h2,.wedding-vivid h3,.wedding-vivid h4,.wedding-vivid h5,.wedding-vivid h6,.wedding-vivid p,.wedding-vivid ul,.wedding-vivid ol,.wedding-vivid figure,.wedding-vivid blockquote{margin:0;padding:0}.wedding-vivid ul,.wedding-vivid ol{list-style:none}.wedding-vivid img,.wedding-vivid picture,.wedding-vivid video,.wedding-vivid svg{max-width:100%;height:auto;display:block}.wedding-vivid a{color:inherit;text-decoration:none}.wedding-vivid button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.wedding-vivid input,.wedding-vivid select,.wedding-vivid textarea{font:inherit;color:inherit}.wedding-vivid :focus-visible{outline:2px solid var(--wv-red);outline-offset:4px}.wedding-vivid{background:var(--wv-bg);color:var(--wv-text);font-family:var(--wv-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;min-height:100vh;font-size:15px;line-height:1.65}.wedding-vivid .wv-display{font-family:var(--wv-font-display);letter-spacing:-.03em;text-transform:uppercase;font-weight:900;line-height:.88}.wedding-vivid .wv-eyebrow{font-family:var(--wv-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--wv-red);align-items:center;gap:10px;font-size:12px;font-weight:900;display:inline-flex}.wedding-vivid .wv-eyebrow:before{content:"";background:currentColor;width:28px;height:3px}.wedding-vivid .wv-prose p{color:var(--wv-text);font-size:15px;line-height:1.85}.wedding-vivid .wv-prose p+p{margin-top:1em}.wedding-vivid [data-wv-reveal]{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(28px)}.wedding-vivid [data-wv-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.wedding-vivid [data-wv-reveal]{opacity:1;transition:none;transform:none}}.wedding-vivid .wv-container{width:100%;max-width:var(--wv-max-width);margin:0 auto;padding:0 24px}@media (width>=768px){.wedding-vivid .wv-container{padding:0 40px}}.wedding-vivid .wv-section{padding-top:var(--wv-section-pad-y);padding-bottom:var(--wv-section-pad-y)}.wedding-vivid .wv-section-header{flex-direction:column;gap:16px;margin-bottom:56px;display:flex}.wedding-vivid .wv-section-title{font-family:var(--wv-font-display);letter-spacing:-.03em;color:var(--wv-text);text-transform:uppercase;font-size:clamp(44px,6vw,88px);font-weight:900;line-height:.92}.wedding-vivid .wv-section-title-kr{font-family:var(--wv-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--wv-text-soft);font-size:13px}.wedding-vivid .wv-btn{background:var(--wv-text);color:var(--wv-bg);font-family:var(--wv-font-display);letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--wv-text);justify-content:center;align-items:center;gap:8px;padding:16px 28px;font-size:13px;font-weight:900;transition:background .2s,color .2s;display:inline-flex}.wedding-vivid .wv-btn:hover{background:var(--wv-red);border-color:var(--wv-red)}.wedding-vivid .wv-toast{background:var(--wv-text);color:var(--wv-bg);font-family:var(--wv-font-display);letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;z-index:200;padding:12px 22px;font-size:12px;transition:opacity .3s,transform .3s;position:fixed;bottom:32px;left:50%;transform:translate(-50%,16px)}.wedding-vivid .wv-toast.is-show{opacity:1;transform:translate(-50%)}:root{--demo-bar-bg:#ffffffeb;--demo-bar-text:#1a1a1a;--demo-bar-border:#ff52524d;--demo-fab-bg:#ff5252;--demo-fab-icon:#fff}.wedding-vivid .wv-hero{grid-template-rows:1fr;grid-template-columns:1fr;min-height:100vh;display:grid;position:relative}.wedding-vivid .wv-hero-blocks{z-index:0;grid-template-rows:1fr;grid-template-columns:1.4fr 1fr 1.2fr;display:grid;position:absolute;inset:0}.wedding-vivid .wv-hero-block{position:relative;overflow:hidden}.wedding-vivid .wv-hero-block--red{background:var(--wv-red)}.wedding-vivid .wv-hero-block--yellow{background:var(--wv-yellow)}.wedding-vivid .wv-hero-block--blue{background:var(--wv-blue)}.wedding-vivid .wv-hero-block-img{mix-blend-mode:luminosity;opacity:.55;background-position:50%;background-size:cover;position:absolute;inset:0}.wedding-vivid .wv-hero-overlay{z-index:1;pointer-events:none;flex-direction:column;justify-content:space-between;padding:140px 32px 48px;display:flex;position:absolute;inset:0}.wedding-vivid .wv-hero-top{font-family:var(--wv-font-display);letter-spacing:.16em;text-transform:uppercase;color:#fff;mix-blend-mode:difference;justify-content:space-between;align-items:flex-start;font-size:12px;font-weight:900;display:flex}.wedding-vivid .wv-hero-center{text-align:center}.wedding-vivid .wv-hero-names{font-family:var(--wv-font-display);letter-spacing:-.04em;color:#fff;mix-blend-mode:difference;text-transform:uppercase;font-size:clamp(72px,16vw,220px);font-weight:900;line-height:.85}.wedding-vivid .wv-hero-names-sub{font-family:var(--wv-font-display);letter-spacing:.24em;color:#fff;mix-blend-mode:difference;text-transform:uppercase;margin-top:18px;font-size:clamp(14px,1.8vw,20px)}.wedding-vivid .wv-hero-bottom{font-family:var(--wv-font-display);letter-spacing:.14em;text-transform:uppercase;color:#fff;mix-blend-mode:difference;justify-content:space-between;align-items:flex-end;font-size:13px;display:flex}.wedding-vivid .wv-hero-countdown{background:#111;grid-template-columns:repeat(4,1fr);gap:1px;padding:1px;display:grid}.wedding-vivid .wv-hero-countdown-cell{background:var(--wv-bg);text-align:center;min-width:58px;padding:14px 18px}.wedding-vivid .wv-hero-countdown-num{font-family:var(--wv-font-display);color:var(--wv-text);font-variant-numeric:tabular-nums;font-size:clamp(22px,3vw,32px);font-weight:900;line-height:1}.wedding-vivid .wv-hero-countdown-label{font-family:var(--wv-font-display);letter-spacing:.14em;color:var(--wv-text-soft);text-transform:uppercase;margin-top:4px;font-size:9px}@media (width<=767px){.wedding-vivid .wv-hero-overlay{padding:120px 20px 32px}.wedding-vivid .wv-hero-top,.wedding-vivid .wv-hero-bottom{flex-direction:column;gap:10px}.wedding-vivid .wv-hero-blocks{grid-template-rows:1fr 1fr 1fr;grid-template-columns:1fr}}.wedding-vivid .wv-greeting{background:var(--wv-text);color:var(--wv-bg)}.wedding-vivid .wv-greeting .wv-section-title{color:var(--wv-bg)}.wedding-vivid .wv-greeting .wv-section-title-kr{color:#ffffff80}.wedding-vivid .wv-greeting .wv-eyebrow{color:var(--wv-yellow)}.wedding-vivid .wv-greeting .wv-prose p{color:#ffffffe0}.wedding-vivid .wv-greeting-body{max-width:640px}.wedding-vivid .wv-greeting-signature{font-family:var(--wv-font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--wv-bg);gap:24px;margin-top:40px;font-size:14px;font-weight:900;display:flex}.wedding-vivid .wv-greeting-signature span:first-child{color:var(--wv-yellow)}.wedding-vivid .wv-greeting-signature span:last-child{color:var(--wv-red)}.wedding-vivid .wv-gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width>=900px){.wedding-vivid .wv-gallery-grid{grid-template-columns:repeat(4,1fr)}}.wedding-vivid .wv-gallery-item{aspect-ratio:4/5;border:2px solid var(--wv-text);position:relative;overflow:hidden}.wedding-vivid .wv-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .7s}.wedding-vivid .wv-gallery-item:hover img{transform:scale(1.05)}.wedding-vivid .wv-gallery-badge{font-family:var(--wv-font-display);letter-spacing:.12em;background:var(--wv-text);color:var(--wv-bg);z-index:2;padding:10px 16px;font-size:12px;font-weight:900;position:absolute;top:0;left:0}.wedding-vivid .wv-gallery-item:first-child .wv-gallery-badge{background:var(--wv-red);color:#fff}.wedding-vivid .wv-gallery-item:nth-child(2) .wv-gallery-badge{background:var(--wv-yellow);color:var(--wv-text)}.wedding-vivid .wv-gallery-item:nth-child(3) .wv-gallery-badge{background:var(--wv-blue);color:#fff}.wedding-vivid .wv-gallery-item:nth-child(4) .wv-gallery-badge{background:var(--wv-text);color:#fff}.wedding-vivid .wv-venue{background:var(--wv-yellow)}.wedding-vivid .wv-venue .wv-eyebrow{color:var(--wv-red)}.wedding-vivid .wv-venue .wv-section-title{color:var(--wv-text)}.wedding-vivid .wv-venue-grid{grid-template-columns:1fr;align-items:stretch;gap:24px;display:grid}@media (width>=960px){.wedding-vivid .wv-venue-grid{grid-template-columns:1fr 1.4fr;gap:32px}}.wedding-vivid .wv-venue-info{background:var(--wv-text);color:var(--wv-bg);padding:36px 32px}.wedding-vivid .wv-venue-date{font-family:var(--wv-font-display);letter-spacing:-.02em;color:var(--wv-yellow);text-transform:uppercase;margin-bottom:4px;font-size:clamp(40px,5vw,60px);font-weight:900;line-height:.95}.wedding-vivid .wv-venue-day{font-family:var(--wv-font-display);letter-spacing:.2em;text-transform:uppercase;color:#ffffffb3;margin-bottom:32px;font-size:16px}.wedding-vivid .wv-venue-name{font-family:var(--wv-font-display);letter-spacing:.02em;margin-bottom:4px;font-size:22px}.wedding-vivid .wv-venue-name-kr{letter-spacing:.14em;text-transform:uppercase;color:#fff9;margin-bottom:16px;font-size:12px}.wedding-vivid .wv-venue-address{color:#ffffffd9;margin-bottom:4px;font-size:13px}.wedding-vivid .wv-venue-map{background:var(--wv-bg);border:2px solid var(--wv-text);aspect-ratio:16/10;overflow:hidden}.wedding-vivid .wv-venue-map iframe{border:0;width:100%;height:100%}.wedding-vivid .wv-rsvp{background:var(--wv-blue);color:var(--wv-bg)}.wedding-vivid .wv-rsvp .wv-section-title{color:var(--wv-bg)}.wedding-vivid .wv-rsvp .wv-section-title-kr{color:#ffffffb3}.wedding-vivid .wv-rsvp .wv-eyebrow{color:var(--wv-yellow)}.wedding-vivid .wv-rsvp-form{flex-direction:column;gap:16px;max-width:520px;display:flex}.wedding-vivid .wv-rsvp-label{font-family:var(--wv-font-display);letter-spacing:.16em;text-transform:uppercase;color:#ffffffd9;flex-direction:column;gap:6px;font-size:11px;display:flex}.wedding-vivid .wv-rsvp-input,.wedding-vivid .wv-rsvp-select{appearance:none;color:var(--wv-bg);font-family:var(--wv-font-body);background:0 0;border:2px solid #fff6;padding:14px 18px;font-size:15px;transition:border-color .2s,background .2s}.wedding-vivid .wv-rsvp-input::placeholder{color:#ffffff80}.wedding-vivid .wv-rsvp-select option{color:#333;background:#fff}.wedding-vivid .wv-rsvp-input:focus,.wedding-vivid .wv-rsvp-select:focus{border-color:var(--wv-yellow);background:#ffffff14;outline:none}.wedding-vivid .wv-rsvp-submit{background:var(--wv-yellow);color:var(--wv-text);border-color:var(--wv-yellow);cursor:pointer;margin-top:8px}.wedding-vivid .wv-rsvp-submit:hover{background:var(--wv-red);border-color:var(--wv-red);color:#fff}.wedding-vivid .wv-rsvp-modal{z-index:200;opacity:0;pointer-events:none;background:#000000b3;justify-content:center;align-items:center;padding:24px;transition:opacity .3s;display:flex;position:fixed;inset:0}.wedding-vivid .wv-rsvp-modal.is-open{opacity:1;pointer-events:auto}.wedding-vivid .wv-rsvp-modal-dialog{background:var(--wv-yellow);width:100%;max-width:420px;color:var(--wv-text);border:2px solid var(--wv-text);text-align:center;padding:40px 36px;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:relative;transform:translateY(14px)}.wedding-vivid .wv-rsvp-modal.is-open .wv-rsvp-modal-dialog{transform:translateY(0)}.wedding-vivid .wv-rsvp-modal-close{border:2px solid var(--wv-text);width:32px;height:32px;color:var(--wv-text);background:0 0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex;position:absolute;top:12px;right:12px}.wedding-vivid .wv-rsvp-modal-close:hover{background:var(--wv-red);color:#fff;border-color:var(--wv-red)}.wedding-vivid .wv-rsvp-modal-title{font-family:var(--wv-font-display);text-transform:uppercase;margin-bottom:14px;font-size:30px;font-weight:900;line-height:.9}.wedding-vivid .wv-rsvp-modal-desc{font-size:13px;line-height:1.8}.wedding-vivid .wv-account-groups{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=860px){.wedding-vivid .wv-account-groups{grid-template-columns:1fr 1fr}}.wedding-vivid .wv-account-group{background:var(--wv-bg-soft);border:2px solid var(--wv-text);padding:32px 28px 28px}.wedding-vivid .wv-account-group-header{border-bottom:2px solid var(--wv-text);align-items:baseline;gap:12px;margin-bottom:24px;padding-bottom:16px;display:flex}.wedding-vivid .wv-account-group-label{font-family:var(--wv-font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--wv-text);font-size:22px;font-weight:900}.wedding-vivid .wv-account-group-label-kr{font-family:var(--wv-font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--wv-text-soft);font-size:11px}.wedding-vivid .wv-account-item{border-bottom:1px dashed #0a0a0a26;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.wedding-vivid .wv-account-item:last-child{border-bottom:0}.wedding-vivid .wv-account-info{flex-direction:column;gap:2px;display:flex}.wedding-vivid .wv-account-role{font-family:var(--wv-font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--wv-text-soft);font-size:11px}.wedding-vivid .wv-account-number{font-family:var(--wv-font-body);color:var(--wv-text);font-variant-numeric:tabular-nums;font-size:14px}.wedding-vivid .wv-account-number strong{margin-right:6px;font-weight:600}.wedding-vivid .wv-account-copy{font-family:var(--wv-font-display);letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--wv-text);background:var(--wv-bg);color:var(--wv-text);white-space:nowrap;padding:8px 14px;font-size:11px;transition:background .2s,color .2s}.wedding-vivid .wv-account-copy:hover{background:var(--wv-text);color:var(--wv-bg)}.wedding-vivid .wv-footer{background:var(--wv-red);color:var(--wv-bg);text-align:center;padding:80px 24px 56px}.wedding-vivid .wv-footer-thanks{font-family:var(--wv-font-display);letter-spacing:-.04em;text-transform:uppercase;margin-bottom:16px;font-size:clamp(48px,9vw,120px);font-weight:900;line-height:.88}.wedding-vivid .wv-footer-sub{font-family:var(--wv-font-display);letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-bottom:36px;font-size:13px}.wedding-vivid .wv-footer-disclaimer{opacity:.72;border-top:1px solid #ffffff4d;max-width:560px;margin:0 auto;padding-top:24px;font-size:11px;line-height:1.8}
