.request-canvas{--request-ink:#435447;--request-muted:#7b897c;--request-line:#dbe3d7;--request-accent:#6f8c70;--request-paper:#fffef9;--request-tint:#edf2e8;box-sizing:border-box;width:100%;max-width:720px;margin:18px auto 60px;border:1px solid #c9d4c9;border-radius:28px;color:var(--request-ink);background:var(--request-paper);box-shadow:0 10px 28px #43544714,0 2px 8px #4354470a;font-family:'Noto Sans KR','Malgun Gothic','Apple SD Gothic Neo',sans-serif;font-size:16px;line-height:1.9;text-align:center;overflow:hidden;}
.request-canvas *{box-sizing:border-box;}
.request-canvas [hidden]{display:none!important;}
.request-canvas [data-request-field]{overflow-wrap:anywhere;}
.request-canvas .request-sheet{padding:68px 54px 40px;}
.request-canvas h1,.request-canvas h2,.request-canvas h3,.request-canvas p,.request-canvas figure,.request-canvas dl{margin:0;}
.request-canvas .request-label{color:var(--request-accent);font-size:15px;line-height:1.5;font-weight:500;letter-spacing:.12em;}
.request-canvas .request-title{margin:22px 0 20px;color:var(--request-ink);font-family:Georgia,'Gowun Batang','Batang',serif;font-size:36px;line-height:1.5;font-weight:400;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere;}
.request-canvas .request-intro{max-width:470px;margin:0 auto;color:var(--request-muted);font-size:16px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere;}
.request-canvas .request-photo{width:100%;margin:34px 0 0;overflow:hidden;}
.request-canvas .request-photo img{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:4 / 3;object-fit:cover;}
.request-canvas .request-photo-portrait{max-width:340px;margin:34px auto 0;}
.request-canvas .request-photo-portrait img{aspect-ratio:4 / 5;}
.request-canvas .request-photo-arch{border-radius:180px 180px 8px 8px;}
.request-canvas .request-letter{max-width:480px;margin:44px auto 0;padding:0 12px;font-size:17px;line-height:2.1;word-break:keep-all;overflow-wrap:anywhere;}
.request-canvas [data-request-multiline=true]{white-space:pre-line;}
.request-canvas .request-signature{margin:26px auto 0;color:var(--request-ink);font-size:18px;line-height:1.8;font-weight:500;word-break:keep-all;overflow-wrap:anywhere;}
.request-canvas .request-signature-note{display:block;margin-top:3px;color:var(--request-muted);font-size:15px;font-weight:400;}
.request-canvas .request-rule{width:40px;height:1px;margin:38px auto 0;background:var(--request-accent);opacity:.5;}
.request-canvas .request-details{margin:32px 0 0;padding:24px;border-top:1px solid var(--request-line);border-bottom:1px solid var(--request-line);text-align:center;}
.request-canvas .request-details dt{margin:20px 0 7px;color:var(--request-accent);font-size:15px;line-height:1.6;font-weight:500;}
.request-canvas .request-details dt:first-child{margin-top:0;}
.request-canvas .request-details dd{margin:0;color:var(--request-ink);font-size:17px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere;}
.request-canvas .request-address{margin-top:4px;color:var(--request-muted);font-size:15px;line-height:1.9;}
.request-canvas .request-application{margin:42px 0 0;padding:30px 24px;border:1px solid var(--request-line);border-radius:12px;background:var(--request-tint);}
.request-canvas .request-application h2{margin:0 0 14px;font-size:21px;line-height:1.5;font-weight:500;color:var(--request-ink);}
.request-canvas .request-application p{font-size:16px;line-height:1.9;color:var(--request-muted);word-break:keep-all;overflow-wrap:anywhere;}
.request-canvas .request-apply{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:210px;max-width:100%;margin-top:22px;padding:12px 24px;border:1px solid var(--request-accent);border-radius:7px;background:var(--request-paper);color:var(--request-ink);font-size:16px;font-weight:500;line-height:1.5;text-decoration:none;}
.request-canvas .request-apply svg{width:18px;height:18px;flex:0 0 18px;}
.request-canvas .request-apply:hover{background:#fff;filter:brightness(.98);}
.request-canvas .request-apply:focus-visible{outline:2px solid var(--request-accent);outline-offset:4px;}
.request-canvas .request-footer{margin-top:36px;color:var(--request-muted);font-size:15px;letter-spacing:.04em;line-height:1.6;}
.request-canvas .request-ornament{display:block;width:78px;height:68px;margin:0 auto;color:var(--request-accent);}
.request-canvas .request-ornament svg{display:block;width:100%;height:100%;}
.request-canvas .request-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0 0;}
.request-canvas .request-photo-pair .request-photo{margin:0;}
.request-canvas .request-photo-pair img{aspect-ratio:3 / 4;}
.request-canvas .request-side-note{font-size:15px;line-height:1.7;color:var(--request-muted);}
.request-canvas .request-emblem{display:flex;align-items:center;justify-content:center;width:86px;height:86px;margin:0 auto 26px;border:1px solid var(--request-line);border-radius:50%;color:var(--request-accent);}
.request-canvas .request-emblem svg{width:40px;height:40px;}
.request-canvas .request-border{padding:40px 30px;border:1px solid var(--request-line);}
.request-canvas .request-corner{position:relative;}
.request-canvas .request-corner:before,.request-canvas .request-corner:after{position:absolute;width:36px;height:36px;border-color:var(--request-accent);border-style:solid;content:'';opacity:.5;}
.request-canvas .request-corner:before{top:0;left:0;border-width:1px 0 0 1px;}
.request-canvas .request-corner:after{bottom:0;right:0;border-width:0 1px 1px 0;}
.request-canvas .request-poster-line{width:100%;height:6px;margin:0 0 32px;background:var(--request-accent);}
.request-canvas .request-quote{margin:28px auto 0;color:var(--request-accent);font-family:Georgia,serif;font-size:56px;line-height:1;}
.request-canvas .request-date-strip{margin:32px 0 0;padding:18px 12px;border-top:1px solid var(--request-line);border-bottom:1px solid var(--request-line);font-size:18px;line-height:1.8;}
.request-theme-wed1 .request-countdown{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px;color:var(--request-muted);font-size:15px;line-height:1.7;}
.request-theme-wed1 .request-countdown strong{color:var(--request-accent);font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.3;}
.request-canvas .request-sheet-wed1{padding-top:56px;}
.request-canvas .request-section{margin-top:64px;padding-top:44px;border-top:1px solid var(--request-line);}
.request-canvas .request-section-title{margin:16px 0 22px;font-family:Georgia,'Gowun Batang','Batang',serif;font-size:26px;line-height:1.6;font-weight:400;word-break:keep-all;overflow-wrap:anywhere;}
.request-canvas .request-couple-names{display:flex;align-items:center;justify-content:center;gap:16px;margin:28px 0 18px;font-size:23px;line-height:1.7;}
.request-canvas .request-name-join{color:var(--request-accent);font-family:Georgia,serif;font-size:23px;}
.request-canvas .request-greeting .request-letter{margin-top:24px;}
.request-canvas .request-family-names{margin-top:34px;}
.request-canvas .request-family-names p{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:14px;font-size:16px;line-height:1.8;}
.request-canvas .request-family-title{margin:0 4px;color:var(--request-muted);font-size:15px;}
.request-canvas .request-family-names strong{font-weight:500;}
.request-canvas .request-name-dot{color:var(--request-muted);}
.request-canvas .request-profiles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;}
.request-canvas .request-profile .request-photo{margin:0 0 24px;border-radius:100px 100px 4px 4px;}
.request-canvas .request-profile .request-photo img{aspect-ratio:3/4;}
.request-canvas .request-profile .request-section-title{margin:12px 0 16px;font-size:24px;}
.request-canvas .request-profile>p:last-child{color:var(--request-muted);font-size:15px;line-height:1.9;}
.request-canvas .request-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px;margin-top:26px;}
.request-canvas .request-contact-grid strong{font-weight:500;}
.request-canvas .request-contact-role{display:block;margin-bottom:5px;color:var(--request-muted);font-size:15px;line-height:1.7;}
.request-canvas .request-contact-number{margin-top:8px;font-size:16px;}
.request-canvas .request-disclosure{margin-top:20px;border-top:1px solid var(--request-line);border-bottom:1px solid var(--request-line);text-align:left;}
.request-canvas .request-disclosure+.request-disclosure{border-top:0;margin-top:0;}
.request-canvas .request-disclosure summary{display:list-item;min-height:48px;padding:14px 6px;list-style:disclosure-closed inside;color:var(--request-ink);font-size:16px;line-height:1.7;cursor:pointer;}
.request-canvas .request-disclosure[open] summary{list-style-type:disclosure-open;}
.request-canvas .request-disclosure .request-contact-grid{margin:8px 0 28px;text-align:center;}
.request-canvas .request-gift-icon{width:34px;height:34px;margin:0 auto 18px;color:var(--request-accent);}
.request-canvas .request-gift-icon svg{width:100%;height:100%;}
.request-canvas .request-calendar{max-width:350px;margin:26px auto;font-size:15px;line-height:1.5;}
.request-canvas .request-calendar-heading{margin-bottom:18px;color:var(--request-accent);font-size:17px;line-height:1.8;}
.request-canvas .request-calendar table{table-layout:fixed;width:100%;border:0;border-collapse:collapse;}
.request-canvas .request-calendar th,.request-canvas .request-calendar td{height:38px;padding:3px;border:0;text-align:center;background:transparent;font-size:15px;line-height:1.6;font-weight:400;}
.request-canvas .request-calendar th{color:var(--request-muted);}
.request-canvas .request-calendar th:first-child,.request-canvas .request-calendar td:first-child{color:#ad7f79;}
.request-canvas .request-calendar th:last-child,.request-canvas .request-calendar td:last-child{color:#7c94aa;}
.request-canvas .request-calendar td span{display:flex;align-items:center;justify-content:center;width:32px;max-width:100%;min-height:32px;padding:2px;margin:auto;border-radius:50%;}
.request-canvas .request-calendar td .request-calendar-selected{background:var(--request-accent);color:#fff;}
.request-canvas .request-location-name{font-size:18px;line-height:1.8;}
.request-canvas .request-map-illustration{position:relative;margin-top:26px;border-radius:8px;overflow:hidden;}
.request-canvas .request-map-illustration svg{display:block;width:100%;height:auto;}
.request-canvas .request-map-illustration span{position:absolute;right:12px;bottom:12px;padding:4px 10px;border-radius:4px;color:var(--request-muted);background:rgba(255,255,255,.9);font-size:15px;line-height:1.6;}
.request-canvas .request-directions{margin:26px 0 0;text-align:left;}
.request-canvas .request-directions dt{margin-top:22px;color:var(--request-accent);font-size:16px;font-weight:500;line-height:1.6;}
.request-canvas .request-directions dd{margin:8px 0 0;font-size:16px;line-height:1.9;}
.request-canvas .request-gallery .request-photo{border-radius:6px;}
.request-canvas .request-gallery-caption{margin-top:26px;color:var(--request-muted);font-size:16px;line-height:1.9;}
.request-canvas .request-bank-accounts{padding:2px 8px 20px;}
.request-canvas .request-bank-accounts dt{margin-top:18px;color:var(--request-muted);font-size:15px;line-height:1.8;}
.request-canvas .request-bank-accounts dt span{color:var(--request-ink);font-weight:700;}
.request-canvas .request-bank-accounts dd{margin:8px 0 0;font-size:16px;line-height:1.9;}
.request-canvas .request-footer .request-rule{margin-bottom:30px;}
.request-canvas .request-footer>p{margin-bottom:10px;}
@media(max-width:600px){
	.request-canvas .request-sheet{padding:44px 28px 28px;}
	.request-canvas .request-title{font-size:31px;}
	.request-canvas .request-border{padding:30px 20px;}
	.request-canvas .request-letter{font-size:16px;padding-left:0;padding-right:0;}
	.request-canvas .request-application{padding:26px 18px;}
	.request-canvas .request-details{padding:24px 12px;}
	.request-canvas .request-section{margin-top:48px;padding-top:32px;}
	.request-canvas .request-profiles{gap:16px;}
	.request-canvas .request-contact-grid{gap:20px 10px;}
	.request-canvas .request-contact-number{font-size:15px;}
}
@media(max-width:360px){
	.request-canvas .request-sheet{padding:36px 20px 24px;}
	.request-canvas .request-title{font-size:27px;}
	.request-canvas .request-border{padding:24px 14px;}
	.request-canvas .request-application{padding:22px 14px;}
	.request-canvas .request-apply{width:100%;min-width:0;padding:12px;}
	.request-canvas .request-profiles{grid-template-columns:minmax(0,1fr);gap:36px;}
	.request-canvas .request-profile .request-photo{max-width:210px;margin-left:auto;margin-right:auto;}
	.request-canvas .request-contact-grid{grid-template-columns:minmax(0,1fr);}
}


.request-canvas .request-gallery-view{min-width:0;margin:24px 20px;}
.request-canvas .request-gallery-track{display:block;column-count:2;column-gap:16px;min-width:0;}
.request-canvas .request-gallery-photo{display:block;position:relative;min-width:0;margin:0 0 16px;break-inside:avoid;border-radius:12px;overflow:hidden;box-shadow:0 4px 18px rgba(38,35,30,.1);}
.request-canvas .request-gallery-photo img{display:block;width:100%;height:auto;border-radius:inherit;}
.request-canvas .request-gallery-photo[hidden],.request-canvas .request-gallery-view [hidden]{display:none!important;}
.request-canvas .request-gallery-view[data-gallery-mode=slide] .request-gallery-track{display:flex;column-count:auto;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;}
.request-canvas .request-gallery-view[data-gallery-mode=slide] .request-gallery-photo{flex:0 0 100%;margin:0;box-shadow:none;scroll-snap-align:start;scroll-snap-stop:always;}
.request-canvas .request-gallery-view[data-gallery-mode=slide] .request-gallery-photo img{width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--request-tint,#f5f5f5);}
.request-canvas .request-gallery-navigation{display:flex;align-items:center;justify-content:center;gap:20px;margin:16px 0;font-family:'Pretendard','Malgun Gothic',sans-serif;font-size:15px;}
.request-canvas .request-gallery-navigation svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;}
.request-canvas .request-gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;}
.request-canvas .request-gallery-thumbnails button{flex:0 0 58px;width:58px;height:68px;padding:2px;border:1px solid transparent;border-radius:4px;background:none;cursor:pointer;}
.request-canvas .request-gallery-thumbnails button[aria-pressed=true]{border-color:currentColor;}
.request-canvas .request-gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px;}
.request-canvas .request-gallery-more{margin-top:20px;}
.request-canvas .request-gallery-empty{padding:34px 10px;font-size:15px;}
@media(max-width:480px){.request-canvas .request-gallery-view{margin:20px 12px;}.request-canvas .request-gallery-track{column-gap:10px;}.request-canvas .request-gallery-photo{margin-bottom:10px;}.request-canvas .request-gallery-view[data-gallery-mode=slide] .request-gallery-photo{margin-bottom:0;}}

/* 감사 편지: 손으로 그린 장식, 편지가 펼쳐지는 등장, 사진 위로 흐르는 빛과 잎 */
.request-theme-wed1{position:relative;isolation:isolate;}
.request-theme-wed1 .request-welcome{position:relative;}
.request-theme-wed1 .wed1-effects-toggle{position:absolute;top:-48px;right:-30px;z-index:12;display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid #cbd7c5;border-radius:20px;background:rgba(255,254,249,.9);color:#61765d;font:inherit;font-size:15px;line-height:1.4;cursor:pointer;}
.request-theme-wed1 .wed1-effects-toggle[hidden]{display:none;}
.request-theme-wed1 .wed1-effects-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.request-theme-wed1.wed1-motion-active .request-ornament svg>*{stroke-dasharray:160;animation:wed1-ink-draw 2.96s ease both;}
.request-theme-wed1.wed1-motion-active .request-ornament svg>*:nth-child(2){animation-delay:.5s;}
.request-theme-wed1.wed1-motion-active .request-ornament svg>*:nth-child(3){animation-delay:1s;}
.request-theme-wed1.wed1-motion-active .request-photo-arch{position:relative;animation:wed1-photo-unfold 1.6s cubic-bezier(.2,.6,.2,1) both;}
.request-theme-wed1.wed1-motion-active .request-photo-arch:after{content:'';position:absolute;z-index:2;inset:-30%;pointer-events:none;background:linear-gradient(105deg,transparent 25%,rgba(255,254,240,.12) 38%,rgba(255,254,240,.5) 48%,rgba(255,254,240,.15) 58%,transparent 70%);animation:wed1-photo-light 5.18s ease-in-out 1.6s infinite;}
.request-theme-wed1.wed1-motion-active .request-section,.request-theme-wed1.wed1-motion-active .request-application{opacity:0;transform:translateY(30px) rotateX(8deg);transform-origin:center top;transition:opacity 1s ease,transform 1.15s cubic-bezier(.2,.65,.2,1);}
.request-theme-wed1.wed1-motion-active .wed1-letter-visible{opacity:1;transform:none;}
.request-theme-wed1.wed1-effects-paused .request-ornament svg>*,.request-theme-wed1.wed1-effects-paused .request-photo-arch,.request-theme-wed1.wed1-effects-paused .request-photo-arch:after{animation-play-state:paused;}
@keyframes wed1-ink-draw{from{stroke-dashoffset:160;opacity:0.31;}to{stroke-dashoffset:0;opacity:1;}}
@keyframes wed1-photo-unfold{from{opacity:0.3775;clip-path:inset(0 0 100% 0);transform:translateY(18px);}to{opacity:1;clip-path:inset(0);transform:none;}}
@keyframes wed1-photo-light{0%,18%{transform:translateX(-85%);opacity:0;}26%{opacity:1;}60%{transform:translateX(85%);opacity:1;}70%,100%{transform:translateX(85%);opacity:0;}}
.request-theme-wed1 .wed1-leaves{position:absolute;top:0;left:0;right:0;height:100svh;z-index:8;overflow:hidden;pointer-events:none;}
.request-theme-wed1 .wed1-leaf{position:absolute;left:var(--wed1-left);top:-24px;width:var(--wed1-size);height:calc(var(--wed1-size) * .65);border-radius:0 85% 0 85%;background:linear-gradient(145deg,#9eaf89,#6f8c70);opacity:0;animation:wed1-leaf-drift var(--wed1-duration) var(--wed1-delay) linear infinite;}
.request-theme-wed1 .wed1-leaf:nth-child(3n){background:linear-gradient(145deg,#d6cba5,#b1a06e);}
.request-theme-wed1 .wed1-leaf:after{content:'';position:absolute;top:48%;left:15%;width:70%;height:1px;background:rgba(255,254,240,.5);transform:rotate(30deg);}
.request-theme-wed1.wed1-effects-paused .wed1-leaf{animation-play-state:paused;}
@keyframes wed1-leaf-drift{0%{opacity:0;transform:translate3d(0,-24px,0) rotate(-30deg);}12%{opacity:0.95;}48%{transform:translate3d(30px,calc(var(--wed1-travel,100svh) * .48),0) rotate(100deg);opacity:0.85;}85%{opacity:0.715;}100%{opacity:0;transform:translate3d(-12px,var(--wed1-travel,100svh),0) rotate(240deg);}}
@media(max-width:480px){.request-theme-wed1 .wed1-effects-toggle{top:-34px;right:0;}}

/* 확장된 테마 효과 */
.request-theme-wed1 .theme-atmosphere>i[style*="--duration"]{animation-duration:calc(var(--duration) * .72)!important;scale:1.2;}
.request-theme-wed1 .theme-atmosphere{max-height:none;}
.request-theme-wed1 .wed1-leaf{animation-duration:calc(var(--wed1-duration) * .74);scale:1.18;}
