:root { 
	--primary-color: #005691; 
	--primary-hover: #004575;
	--bg-color: #f3f4f6; 
	--card-bg: #ffffff; 
	--border-color: #e5e7eb; 
	--text-main: #1f2937; 
	--text-main2: #1971e3; 
	--text-muted: #6b7280; 
	--error-color: #ef4444; 
	--label-color: #374151; 
	--placeholder-color: #9ca3af; 
} 
/*
* { margin: 0; padding: 0; box-sizing: border-box; } 
body { font-family: 'Noto Sans KR', 'Inter', sans-serif; background-color: var(--bg-color); display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 20px; } 
*/
.incontainer { background-color: var(--card-bg); width: 100%; max-width: 500px; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); padding: 24px; margin: auto; } 
.form-title { font-size: 28px; font-weight: 700; color: var(--text-main2); margin-bottom: 28px; line-height: 1.3; letter-spacing: -0.5px; text-align: center; } 
.form-group { margin-bottom: 24px; position: relative; text-align: left; } 
.label { display: block; font-size: 16px; font-weight: 500; color: var(--label-color); margin-bottom: 8px; /*text-align: left; */}
.label span { color: var(--error-color); margin-left: 2px; } 
input[type="text"],
input[type="tel"],
input[type="number"] { width: 100%; padding: 12px 16px; border: 1.5px solid var(--border-color); border-radius: 8px; font-size: 15px; transition: all 0.2s ease; outline: none; font-family: inherit; } 
input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="number"]::placeholder { color: var(--placeholder-color); } 
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus { border-color: var(--primary-color); } 
select.select-input { width: 100%; padding: 12px 16px; border: 1.5px solid var(--border-color); border-radius: 8px; font-size: 15px; outline: none; font-family: inherit; color: var(--text-main); appearance: none; background: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') no-repeat right 12px center; background-size: 16px; background-color: #fff; transition: all 0.2s ease; } 
select.select-input:focus { border-color: var(--primary-color); } 
/* Error Message Style */
.error-msg { display: none; color: var(--error-color); font-size: 13px; margin-top: 10px; font-weight: 500; } 
/* Radio & Checkbox Styling */
.options-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 15px; margin-top: 8px; } 
.radio-group { display: flex; gap: 20px; margin-top: 8px; } 
.option-item { display: flex; align-items: center; cursor: pointer; font-size: 16px; color: var(--text-main); user-select: none; } 
.option-item input { display: none; } 
.custom-check, .custom-radio { width: 18px; height: 18px; border: 1.5px solid var(--border-color); margin-right: 8px; display: inline-block; vertical-align: middle; position: relative; background-color: #fff; transition: all 0.2s ease; } 
.custom-radio { border-radius: 50%; } 
.custom-check { border-radius: 4px; } 
.option-item input:checked + .custom-radio { border-color: #292929; } 
.option-item input:checked + .custom-radio::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; background-color: #292929; border-radius: 50%; } 
.option-item input:checked + .custom-check { border-color: #292929; background-color: #292929; } 
.option-item input:checked + .custom-check::after { content: '✓'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 12px; font-weight: bold; } 
/* Terms Consent */
.consent-row { display: flex; margin-top: 40px; margin-bottom: 24px; font-size: 15px; } 
.terms-link { color: #888; cursor: pointer; font-size: 14px; margin-top: 4px; display: inline-block; text-align: left; } 
.submit-btn { width: 100%; background-color: #004b91; color: #fff; border: none; padding: 16px; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; transition: all 0.2s ease; } 
.submit-btn:hover:not(:disabled) { background-color: #e67e22; /* 요청하신 오렌지색 */}
.submit-btn:disabled { background-color: #004E92; cursor: not-allowed; opacity: 1; } 
/* Modal Styling */
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; } 
.modal-content { background-color: #fff; width: 90%; max-width: 500px; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; max-height: 80vh; } 
.modal-header { padding: 20px; border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; } 
.close-modal { background: none; border: none; font-size: 24px; cursor: pointer; color: var(--text-muted); } 
.modal-body { padding: 24px; overflow-y: auto; font-size: 14px; line-height: 1.6; } 
.modal-footer { padding: 16px; border-top: 1px solid var(--border-color); text-align: right; } 
.btn-confirm { background-color: var(--primary-color); color: #fff; border: none; padding: 8px 24px; border-radius: 6px; cursor: pointer; } 

@media(max-width:640px){
	.form-title { font-size:24px; }
}
@media(max-width:480px){
	.form-title { font-size:22px; }
}