:root{--whan-bg:#f5efe0;--whan-bg-soft:#ebe2cc;--whan-text:#2d2416;--whan-text-soft:#6b5e44;--whan-red:#8b1a1a;--whan-green:#5a6b3f;--whan-gold:#b8902f;--whan-border:#2d24162e;--whan-font-display:"Noto Serif KR", "Pretendard", serif;--whan-font-body:"Pretendard", -apple-system, sans-serif;--whan-max-width:1080px;--whan-section-pad-y:110px}@media (width<=767px){:root{--whan-section-pad-y:72px}}.wedding-hanji{box-sizing:border-box}.wedding-hanji *,.wedding-hanji :before,.wedding-hanji :after{box-sizing:inherit}.wedding-hanji h1,.wedding-hanji h2,.wedding-hanji h3,.wedding-hanji h4,.wedding-hanji h5,.wedding-hanji h6,.wedding-hanji p,.wedding-hanji ul,.wedding-hanji ol,.wedding-hanji figure,.wedding-hanji blockquote{margin:0;padding:0}.wedding-hanji ul,.wedding-hanji ol{list-style:none}.wedding-hanji img,.wedding-hanji picture,.wedding-hanji video,.wedding-hanji svg{max-width:100%;height:auto;display:block}.wedding-hanji a{color:inherit;text-decoration:none}.wedding-hanji button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.wedding-hanji input,.wedding-hanji select,.wedding-hanji textarea{font:inherit;color:inherit}.wedding-hanji :focus-visible{outline:2px solid var(--whan-red);outline-offset:4px}.wedding-hanji{background:var(--whan-bg);color:var(--whan-text);font-family:var(--whan-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;background-image:radial-gradient(circle at 20% 30%,#8b1a1a06 0%,#0000 50%),radial-gradient(circle at 80% 70%,#5a6b3f06 0%,#0000 50%),radial-gradient(circle,#b8902f05 0%,#0000 60%);min-height:100vh;font-size:16px;line-height:1.85}.wedding-hanji .whan-display{font-family:var(--whan-font-display);letter-spacing:.04em;font-weight:500}.wedding-hanji .whan-vertical{writing-mode:vertical-rl;text-orientation:mixed}.wedding-hanji .whan-eyebrow{font-family:var(--whan-font-display);letter-spacing:.32em;color:var(--whan-red);align-items:center;gap:12px;font-size:13px;display:inline-flex}.wedding-hanji .whan-eyebrow:before,.wedding-hanji .whan-eyebrow:after{content:"";background:currentColor;width:28px;height:1px}.wedding-hanji .whan-prose p{color:var(--whan-text);line-height:2}.wedding-hanji .whan-prose p+p{margin-top:1em}.wedding-hanji [data-whan-reveal]{opacity:0;transition:opacity .85s,transform .85s;transform:translateY(28px)}.wedding-hanji [data-whan-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.wedding-hanji [data-whan-reveal]{opacity:1;transition:none;transform:none}}.wedding-hanji .whan-container{width:100%;max-width:var(--whan-max-width);margin:0 auto;padding:0 24px}@media (width>=768px){.wedding-hanji .whan-container{padding:0 40px}}.wedding-hanji .whan-section{padding-top:var(--whan-section-pad-y);padding-bottom:var(--whan-section-pad-y);position:relative}.wedding-hanji .whan-section-header{text-align:center;margin-bottom:56px}.wedding-hanji .whan-section-eyebrow{margin-bottom:18px}.wedding-hanji .whan-section-title{font-family:var(--whan-font-display);color:var(--whan-text);margin-bottom:8px;font-size:clamp(32px,5vw,48px);font-weight:500;line-height:1.3}.wedding-hanji .whan-section-title-hanja{font-family:var(--whan-font-display);color:var(--whan-red);letter-spacing:.18em;font-size:16px;font-style:italic}.wedding-hanji .whan-divider{justify-content:center;align-items:center;gap:4px;margin:24px auto 0;display:flex}.wedding-hanji .whan-divider-line{width:32px;height:2px}.wedding-hanji .whan-divider-line:first-child{background:var(--whan-red)}.wedding-hanji .whan-divider-line:nth-child(2){background:var(--whan-gold)}.wedding-hanji .whan-divider-line:nth-child(3){background:var(--whan-green)}:root{--demo-bar-bg:#f5efe0eb;--demo-bar-text:#2d2416;--demo-bar-border:#8b1a1a4d;--demo-fab-bg:#8b1a1a;--demo-fab-icon:#f5efe0}.wedding-hanji .whan-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:140px 24px 80px;display:flex;position:relative;overflow:hidden}.wedding-hanji .whan-hero-bg{z-index:0;opacity:.3;filter:sepia(.2);background-position:50%;background-size:cover;position:absolute;inset:0}.wedding-hanji .whan-hero-bg:after{content:"";background:linear-gradient(180deg, #f5efe066 0%, var(--whan-bg) 100%);position:absolute;inset:0}.wedding-hanji .whan-hero-inner{z-index:2;flex-direction:column;align-items:center;display:flex;position:relative}.wedding-hanji .whan-hero-eyebrow{margin-bottom:36px}.wedding-hanji .whan-hero-vertical{align-items:flex-start;gap:28px;margin-bottom:28px;display:flex}.wedding-hanji .whan-hero-vertical-name{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--whan-font-display);color:var(--whan-text);letter-spacing:.18em;font-size:clamp(48px,8vw,84px);font-weight:500;line-height:1}.wedding-hanji .whan-hero-vertical-amp{writing-mode:vertical-rl;font-family:var(--whan-font-display);color:var(--whan-red);align-self:center;font-size:clamp(28px,4vw,44px);line-height:1}.wedding-hanji .whan-hero-names-kr{font-family:var(--whan-font-display);color:var(--whan-text);letter-spacing:.06em;margin-bottom:8px;font-size:clamp(32px,5vw,48px);font-weight:500}.wedding-hanji .whan-hero-names-en{font-family:var(--whan-font-display);color:var(--whan-text-soft);margin-bottom:36px;font-size:17px;font-style:italic}.wedding-hanji .whan-hero-stamp{border:2px solid var(--whan-red);background:#f5efe0b3;flex-direction:column;align-items:center;gap:6px;padding:16px 28px;display:inline-flex}.wedding-hanji .whan-hero-stamp-label{font-family:var(--whan-font-display);letter-spacing:.32em;color:var(--whan-red);font-size:12px}.wedding-hanji .whan-hero-stamp-date{font-family:var(--whan-font-display);color:var(--whan-text);letter-spacing:.04em;font-size:18px;font-weight:500}.wedding-hanji .whan-greeting{text-align:center}.wedding-hanji .whan-greeting-card{border:1px solid var(--whan-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff6;max-width:720px;margin:0 auto;padding:48px 36px}.wedding-hanji .whan-greeting-body p{font-family:var(--whan-font-display);color:var(--whan-text);font-size:16px;line-height:2.05}.wedding-hanji .whan-greeting-body p+p{margin-top:16px}.wedding-hanji .whan-greeting-parents{border-top:1px solid var(--whan-border);font-family:var(--whan-font-display);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:40px;padding-top:32px;display:grid}.wedding-hanji .whan-side-label{font-family:var(--whan-font-display);color:var(--whan-red);letter-spacing:.16em;margin-bottom:6px;font-size:14px}.wedding-hanji .whan-side-names{color:var(--whan-text);font-size:14px;line-height:1.7}.wedding-hanji .whan-side-divider{background:var(--whan-border);justify-self:center;width:1px;height:60px}@media (width<=560px){.wedding-hanji .whan-greeting-parents{grid-template-columns:1fr;gap:24px}.wedding-hanji .whan-side-divider{justify-self:center;width:48px;height:1px}}.wedding-hanji .whan-gallery-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=720px){.wedding-hanji .whan-gallery-grid{grid-template-columns:repeat(3,1fr);gap:32px}}.wedding-hanji .whan-gallery-item{text-align:center}.wedding-hanji .whan-gallery-image{aspect-ratio:4/5;background:var(--whan-bg-soft);border:1px solid var(--whan-border);margin-bottom:18px;overflow:hidden}.wedding-hanji .whan-gallery-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s}.wedding-hanji .whan-gallery-item:hover .whan-gallery-image img{transform:scale(1.04)}.wedding-hanji .whan-gallery-code{font-family:var(--whan-font-display);color:var(--whan-red);letter-spacing:.06em;margin-bottom:4px;font-size:22px;display:inline-block}.wedding-hanji .whan-gallery-title{font-family:var(--whan-font-display);color:var(--whan-text);margin-bottom:6px;font-size:18px;font-weight:500}.wedding-hanji .whan-gallery-caption{color:var(--whan-text-soft);max-width:280px;margin:0 auto;font-size:13px;line-height:1.7}.wedding-hanji .whan-venue{text-align:center}.wedding-hanji .whan-venue-card{border:1px solid var(--whan-border);background:#ffffff73;max-width:560px;margin:0 auto 40px;padding:36px 32px}.wedding-hanji .whan-venue-date{font-family:var(--whan-font-display);color:var(--whan-text);margin-bottom:6px;font-size:clamp(28px,4vw,38px);font-weight:500;line-height:1.1}.wedding-hanji .whan-venue-time{font-family:var(--whan-font-display);color:var(--whan-red);letter-spacing:.16em;margin-bottom:28px;font-size:15px}.wedding-hanji .whan-venue-name{font-family:var(--whan-font-display);color:var(--whan-text);margin-bottom:4px;font-size:18px;font-weight:500}.wedding-hanji .whan-venue-name-hanja{font-family:var(--whan-font-display);color:var(--whan-red);letter-spacing:.18em;margin-bottom:12px;font-size:13px}.wedding-hanji .whan-venue-address{color:var(--whan-text-soft);font-size:13px}.wedding-hanji .whan-countdown{border-top:1px solid var(--whan-red);border-bottom:1px solid var(--whan-red);background:#fff6;grid-template-columns:repeat(4,1fr);max-width:480px;margin:0 auto 48px;padding:18px 0;display:grid}.wedding-hanji .whan-countdown-cell{text-align:center;border-right:1px dashed var(--whan-border)}.wedding-hanji .whan-countdown-cell:last-child{border-right:0}.wedding-hanji .whan-countdown-num{font-family:var(--whan-font-display);color:var(--whan-text);font-variant-numeric:tabular-nums;font-size:clamp(28px,4vw,38px);font-weight:500;line-height:1}.wedding-hanji .whan-countdown-label{font-family:var(--whan-font-display);letter-spacing:.16em;color:var(--whan-red);margin-top:6px;font-size:11px}.wedding-hanji .whan-venue-map{aspect-ratio:16/9;border:1px solid var(--whan-border);background:var(--whan-bg-soft);max-width:820px;margin:0 auto;overflow:hidden}.wedding-hanji .whan-venue-map iframe{border:0;width:100%;height:100%}.wedding-hanji .whan-account-groups{grid-template-columns:1fr;gap:28px;display:grid}@media (width>=860px){.wedding-hanji .whan-account-groups{grid-template-columns:1fr 1fr}}.wedding-hanji .whan-account-group{border:1px solid var(--whan-border);background:#ffffff73;padding:32px 28px 28px}.wedding-hanji .whan-account-group-header{text-align:center;border-bottom:1px solid var(--whan-border);margin-bottom:22px;padding-bottom:16px}.wedding-hanji .whan-account-side-hanja{font-family:var(--whan-font-display);color:var(--whan-red);letter-spacing:.16em;margin-bottom:4px;font-size:22px}.wedding-hanji .whan-account-side-kr{font-family:var(--whan-font-display);color:var(--whan-text-soft);letter-spacing:.18em;font-size:12px}.wedding-hanji .whan-account-item{border-bottom:1px dashed var(--whan-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.wedding-hanji .whan-account-item:last-child{border-bottom:0}.wedding-hanji .whan-account-info{flex-direction:column;gap:2px;display:flex}.wedding-hanji .whan-account-role{font-family:var(--whan-font-display);letter-spacing:.12em;color:var(--whan-text-soft);font-size:11px}.wedding-hanji .whan-account-number{color:var(--whan-text);font-size:14px}.wedding-hanji .whan-account-number strong{margin-right:6px;font-weight:600}.wedding-hanji .whan-footer{text-align:center;border-top:1px solid var(--whan-border);padding:80px 24px 56px}.wedding-hanji .whan-footer-thanks{font-family:var(--whan-font-display);color:var(--whan-red);letter-spacing:.04em;margin-bottom:12px;font-size:clamp(36px,6vw,56px);font-weight:500}.wedding-hanji .whan-footer-sub{font-family:var(--whan-font-display);color:var(--whan-text-soft);margin-bottom:32px;font-size:14px}.wedding-hanji .whan-footer-disclaimer{max-width:560px;color:var(--whan-text-soft);border-top:1px solid var(--whan-border);margin:0 auto;padding-top:22px;font-size:11px;line-height:1.85}
