@font-face{font-family:Pretendard;font-weight:300;font-display:swap;src:url(/fonts/Pretendard-Light.subset.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:url(/fonts/Pretendard-Regular.subset.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:500;font-display:swap;src:url(/fonts/Pretendard-Medium.subset.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:url(/fonts/Pretendard-SemiBold.subset.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:url(/fonts/Pretendard-Bold.subset.woff2) format("woff2")}:root{--bg: #FAF8F5;--bg-section: #F5F0EA;--surface: #FFFFFF;--white: #FFFFFF;--text: #2C2A28;--text2: #6B6560;--text3: #8A847E;--pink: #C9908A;--pink-dark: #A06B65;--pink-light: #F5ECEA;--sand: #E8DCC4;--sand-light: #F2EBD9;--border: rgba(201, 144, 138, .15);--border2: rgba(201, 144, 138, .25);--kakao: #FEE500;--kakao-text: #191919;--r: 20px;--rs: 12px;--shadow: 0 8px 40px rgba(160, 107, 101, .1);--shadow-hover: 0 16px 48px rgba(160, 107, 101, .18);--font-serif: "Nanum Myeongjo", serif;--font-sans: "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;font-size:15px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#fafaf8d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:600;align-items:center;justify-content:center;flex-direction:column;gap:12px}.loading-overlay.show{display:flex}.spinner{width:32px;height:32px;border:2px solid var(--border2);border-top-color:var(--pink);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{padding:2.5rem;text-align:center;border-top:1px solid var(--border);font-size:12px;color:var(--text3);line-height:1.9}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(24px);transition:all .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}nav{padding:1.25rem 3rem;display:flex;align-items:center;justify-content:space-between;background:#fafaf8eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.nav-logo{font-family:"Noto Serif KR",serif;font-size:20px;font-weight:600;letter-spacing:.08em;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:8px}.nav-logo img{height:28px;width:auto;object-fit:contain}.nav-back{font-size:13px;color:var(--text2);text-decoration:none;transition:color .2s}.wrap{display:flex;align-items:flex-start;justify-content:center;min-height:calc(100vh - 65px);padding:2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);width:100%;max-width:440px;padding:2.5rem;box-shadow:0 4px 40px #0000000f}.card-brand{text-align:center;margin-bottom:1.75rem}.card-brand-logo{font-family:"Noto Serif KR",serif;font-size:20px;font-weight:600;letter-spacing:.05em;margin-bottom:2px}.card-brand-sub{font-size:12px;color:var(--text3)}.steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem}.step-item{display:flex;align-items:center;gap:0}.step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:all .3s}.step-dot.active{background:var(--text);color:#fff}.step-dot.done{background:var(--pink);color:#fff}.step-dot.inactive{background:var(--bg);color:var(--text3);border:1.5px solid var(--border2)}.step-label{font-size:11px;color:var(--text3);margin-top:4px;text-align:center}.step-line{width:40px;height:1px;background:var(--border2);margin:0 4px 16px}.step-line.done{background:var(--pink)}.step-col{display:flex;flex-direction:column;align-items:center}.kakao-section{margin-bottom:1.25rem}.kakao-label{font-size:11px;font-weight:500;color:var(--text3);letter-spacing:.08em;text-align:center;margin-bottom:10px;text-transform:uppercase}.kakao-btn{width:100%;padding:15px 20px;border-radius:var(--rs);background:var(--kakao);border:none;color:var(--kakao-text);font-size:15px;font-family:Noto Sans KR,sans-serif;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s;position:relative}.kakao-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #fee50073}.kakao-badge{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:#00000014;color:var(--kakao-text);font-size:10px;font-weight:700;padding:3px 8px;border-radius:99px}.kakao-hint{text-align:center;font-size:11px;color:var(--text3);margin-top:7px}.divider{display:flex;align-items:center;gap:12px;margin:1.25rem 0}.divider-line{flex:1;height:1px;background:var(--border2)}.divider-text{font-size:12px;color:var(--text3)}.field-label{font-size:12px;color:var(--text3);margin-bottom:6px;display:block;font-weight:500;letter-spacing:.03em}.field-input{width:100%;padding:12px 14px;border:1.5px solid var(--border2);border-radius:var(--rs);background:var(--bg);color:var(--text);font-family:Noto Sans KR,sans-serif;font-size:14px;outline:none;transition:all .15s;margin-bottom:1rem}.field-input:focus{border-color:var(--text);background:#fff}.field-input::placeholder{color:var(--text3)}.field-hint{font-size:11px;color:var(--text3);margin-top:-10px;margin-bottom:1rem}.pw-wrap{position:relative;margin-bottom:.5rem}.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--text3)}.pw-strength{display:flex;gap:4px;margin-bottom:4px}.pw-bar{flex:1;height:3px;border-radius:2px;background:var(--border2);transition:background .3s}.pw-bar.weak{background:#ff6b6b}.pw-bar.mid{background:var(--kakao)}.pw-bar.strong{background:#4caf50}.pw-strength-label{font-size:11px;margin-bottom:1rem;min-height:18px}.terms-header{margin-bottom:1.5rem}.terms-title{font-family:"Noto Serif KR",serif;font-size:20px;font-weight:400;margin-bottom:6px;line-height:1.4}.terms-sub{font-size:13px;color:var(--text2);line-height:1.7}.agree-all-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg);border-radius:var(--rs);margin-bottom:8px;cursor:pointer;transition:background .15s}.agree-all-row:hover{background:#f0efed}.agree-all-label{font-size:15px;font-weight:600;color:var(--text)}.agree-list{display:flex;flex-direction:column;gap:0;margin-bottom:1.5rem;border:1px solid var(--border);border-radius:var(--rs);overflow:hidden}.agree-item{border-bottom:1px solid var(--border)}.agree-item:last-child{border-bottom:none}.agree-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;transition:background .15s}.agree-row:hover{background:var(--bg)}.agree-left{display:flex;align-items:center;gap:14px;flex:1}.agree-text{font-size:14px;color:var(--text2);line-height:1.4}.agree-text strong{color:var(--text);font-weight:500}.agree-arrow{font-size:14px;color:var(--text3);padding:4px 8px;border:none;background:none;cursor:pointer;flex-shrink:0;transition:color .15s}.agree-arrow:hover{color:var(--pink)}.chk-icon{width:26px;height:26px;border-radius:50%;border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;background:#fff}.chk-icon.checked{background:var(--pink);border-color:var(--pink)}.chk-icon svg{opacity:0;transition:opacity .2s}.chk-icon.checked svg{opacity:1}.agree-content{display:none;padding:14px 16px 16px;background:var(--bg);border-top:1px solid var(--border);font-size:13px;color:var(--text2);line-height:1.9}.agree-content.open{display:block}.agree-content h4{font-size:12px;font-weight:600;color:var(--text);margin:10px 0 4px}.agree-content h4:first-child{margin-top:0}.btn-next{width:100%;padding:14px;border-radius:var(--rs);background:#e0e0e0;color:var(--text3);font-size:15px;font-family:Noto Sans KR,sans-serif;font-weight:500;border:none;cursor:not-allowed;transition:all .2s}.btn-next.enabled{background:var(--text);color:#fff;cursor:pointer}.btn-next.enabled:hover{background:var(--pink)}.btn-submit{width:100%;padding:14px;border-radius:var(--rs);background:var(--text);color:#fff;font-size:15px;font-family:Noto Sans KR,sans-serif;font-weight:500;border:none;cursor:pointer;transition:all .2s;margin-top:.5rem}.btn-submit:hover{background:var(--pink)}.login-link{text-align:center;font-size:13px;color:var(--text3);margin-top:1.25rem}.login-link a{color:var(--pink);font-weight:500;text-decoration:none}.success-wrap{text-align:center;padding:1rem 0}.success-icon{font-size:52px;margin-bottom:1.25rem}.success-title{font-family:"Noto Serif KR",serif;font-size:22px;font-weight:400;margin-bottom:10px}.success-sub{font-size:14px;color:var(--text2);line-height:1.9;margin-bottom:1.5rem}.success-notice{padding:1rem 1.25rem;background:var(--pink-light);border-radius:var(--rs);font-size:13px;color:var(--text2);line-height:1.9;margin-bottom:1.75rem}.btn-home{display:block;padding:14px;border-radius:var(--rs);background:var(--text);color:#fff;font-size:15px;font-family:Noto Sans KR,sans-serif;font-weight:500;text-decoration:none;text-align:center;transition:all .2s}.btn-home:hover{background:var(--pink)}.modal-bg{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:500;align-items:flex-end;justify-content:center;padding:0}.modal-bg.open{display:flex}.modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:80vh;overflow-y:auto;padding:0}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff}.modal-head-title{font-size:15px;font-weight:500}.modal-close{width:30px;height:30px;border-radius:50%;border:1px solid var(--border2);background:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-body{padding:1.5rem;font-size:13px;color:var(--text2);line-height:2}.modal-body h3{font-size:13px;font-weight:600;color:var(--text);margin:1rem 0 4px}.field-group{margin-bottom:1.25rem}.field-label-row{display:flex;align-items:center;gap:7px;margin-bottom:9px}.field-label-text{font-size:15px;font-weight:700;color:var(--text)}.field-check{width:20px;height:20px;border-radius:50%;background:#d4d4d4;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}.field-check.valid{background:var(--pink)}.mora-input{width:100%;padding:17px 16px;border-radius:14px;border:1.5px solid #e8e8e8;background:#f7f7f7;color:var(--text);font-family:Noto Sans KR,sans-serif;font-size:15px;outline:none;transition:border-color .15s,background .15s;display:block}.mora-input:focus{border-color:var(--pink);background:#fff}.mora-input::placeholder{color:#bbb;font-size:14px}.gender-row{display:flex;gap:10px}.gender-btn{flex:1;padding:16px;border-radius:14px;border:1.5px solid #e0e0e0;background:#fff;color:var(--text);font-size:16px;font-family:Noto Sans KR,sans-serif;font-weight:500;cursor:pointer;transition:all .15s}.gender-btn.selected{border-color:var(--pink);background:var(--pink-light);color:var(--pink);font-weight:600}@media(max-width:480px){nav{padding:1rem 1.5rem}.wrap{padding:1.5rem 1rem 1rem}.card{padding:2rem 1.5rem}.step-line{width:24px}.mora-input{padding:15px 14px;font-size:16px}.field-input{font-size:16px}.gender-btn{padding:14px;font-size:15px}}
