*{box-sizing:border-box}html,body{color:#263347;background:#f3efe7;width:100%;min-height:100%;margin:0;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif;overflow:hidden}button,input{font:inherit}.site-shell,.wedding-guide{width:100%;height:100vh;height:100dvh}.site-shell{overflow:hidden}.wedding-guide{background:#f7f5ef;border:0;display:block}.gate-page{min-height:100vh;background-color:#f3efe7;background-image:linear-gradient(#39494409 1px,#0000 1px),linear-gradient(90deg,#39494409 1px,#0000 1px);background-size:28px 28px;place-items:center;min-height:100dvh;padding:28px;display:grid;position:relative;overflow:hidden}.gate-page:before{content:"";pointer-events:none;border:1px solid #2f423d26;position:absolute;inset:22px}.gate-card{z-index:1;text-align:center;background:#fffdf8;border:1px solid #d9d1c3;border-radius:6px;width:min(100%,450px);padding:50px 48px 40px;position:relative;box-shadow:12px 14px #364a4414,0 24px 70px #2c313017}.gate-card:before,.gate-card:after{content:"";background:#e7dfd2;width:1px;position:absolute;top:18px;bottom:18px}.gate-card:before{left:18px}.gate-card:after{right:18px}.gate-cover{padding:5px 0 31px;position:relative}.gate-date{color:#7c776e;letter-spacing:.26em;margin:0 0 23px;font-family:Georgia,Times New Roman,serif;font-size:11px}.gate-card h1{color:#263d38;letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,Batang,serif;font-size:clamp(31px,7vw,42px);font-weight:500;line-height:1.15}.gate-card h1 i{color:#9d6d65;vertical-align:.18em;margin:0 .13em;font-size:.52em;font-style:normal;display:inline-block}.gate-subtitle{color:#5f6965;letter-spacing:.22em;margin:13px 0 0;font-size:13px;font-weight:700}.gate-rule{background:#a59c8e;width:72px;height:1px;margin:28px auto 0;display:block}.gate-form{text-align:left;border-top:1px solid #e7e0d5;padding-top:29px}.gate-form label{color:#48534f;margin:0 0 10px;font-size:13px;font-weight:700;display:block}.gate-input-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.gate-input-row input{color:#263347;letter-spacing:.14em;background:#fff;border:1px solid #cec7ba;border-radius:4px;outline:none;min-width:0;height:50px;padding:0 15px;font-size:17px;font-weight:700;transition:border-color .16s,box-shadow .16s}.gate-input-row input::placeholder{color:#a39e96;letter-spacing:0;font-size:13px;font-weight:500}.gate-input-row input:focus{border-color:#526d65;box-shadow:0 0 0 3px #47655c1c}.gate-input-row button{color:#fffdf8;cursor:pointer;background:#314c45;border:1px solid #314c45;border-radius:4px;height:50px;padding:0 22px;font-size:13px;font-weight:800;transition:background-color .16s,transform .16s}.gate-input-row button:hover:not(:disabled){background:#243d37;transform:translateY(-1px)}.gate-input-row button:disabled{cursor:default;opacity:.5}.gate-message{color:#a04e50;min-height:18px;margin:9px 1px 0;font-size:12px;font-weight:650;line-height:1.5}.gate-checking{color:#6a716e;border-top:1px solid #e7e0d5;justify-content:center;align-items:center;gap:6px;min-height:107px;font-size:12px;font-weight:700;display:flex}.gate-checking i{background:#536f67;border-radius:50%;width:4px;height:4px;animation:.9s infinite alternate gate-bounce}.gate-checking i:nth-child(2){animation-delay:.15s}.gate-checking i:nth-child(3){animation-delay:.3s}.gate-checking span{margin-left:8px}@keyframes gate-bounce{to{opacity:.35;transform:translateY(-4px)}}@media (max-width:520px){.gate-page{padding:max(86px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background:radial-gradient(circle at 80% 12%,#d8bfa13d 0 68px,#0000 69px),linear-gradient(#294b42 0 38%,#f3efe7 38% 100%);align-items:end}.gate-page:before{display:none}.gate-card{width:100%;max-width:420px;max-height:calc(100dvh - max(98px, env(safe-area-inset-top)));border-radius:25px;padding:42px 27px 29px;overflow-y:auto;box-shadow:0 18px 48px #1b2c2733}.gate-card:before,.gate-card:after{display:none}.gate-cover{padding-bottom:27px}.gate-date{margin-bottom:18px}.gate-subtitle{letter-spacing:.13em}.gate-input-row{grid-template-columns:1fr}.gate-input-row input,.gate-input-row button{border-radius:13px;height:54px}.gate-input-row button{width:100%}}html.invitation-scroll-page{overscroll-behavior-y:auto;scroll-behavior:smooth;height:auto;min-height:100%;overflow:hidden auto}body.invitation-scroll-page{touch-action:pan-y;-webkit-overflow-scrolling:touch;height:auto;min-height:100%;overflow:visible}
