@charset "utf-8";

.ct-page{max-width:1000px;margin:0 auto;padding:0 20px}

/* 상단 안내 */
.ct-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px;align-items:start}
.ct-sub{font-size:13px;font-weight:800;color:#2d86d9;letter-spacing:.12em;margin-bottom:6px}
.ct-title{font-size:34px;font-weight:900;color:#0f172a;margin:0 0 16px;letter-spacing:-.03em}
.ct-desc{font-size:15px;color:#64748b;line-height:1.8;margin-bottom:20px;word-break:keep-all}
.ct-desc b{color:#0f172a}
.ct-tel-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:#2d86d9;color:#fff;font-size:18px;font-weight:900;border-radius:999px;text-decoration:none;transition:background .2s}
.ct-tel-btn:hover{background:#1b6fbf}

/* 정보 카드 */
.ct-info-card{background:#f8fafc;border:1px solid #e8ecf1;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:18px}
.ct-info-item{display:flex;align-items:center;gap:14px}
.ct-info-item > i{width:40px;height:40px;border-radius:50%;background:#2d86d9;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ct-info-item strong{display:block;font-size:13px;color:#64748b;font-weight:700;margin-bottom:2px}
.ct-info-item span{font-size:15px;color:#0f172a;font-weight:800}

/* 폼 영역 */
.ct-form-wrap{background:#fff;border:1px solid #e8ecf1;border-radius:16px;overflow:hidden;margin-bottom:40px}
.ct-form-header{background:#0f172a;padding:24px 32px}
.ct-form-header h3{margin:0 0 4px;font-size:20px;font-weight:900;color:#fff}
.ct-form-header p{margin:0;font-size:14px;color:rgba(255,255,255,.6)}

.ct-form{padding:32px}
.ct-form-row{display:flex;gap:16px;margin-bottom:16px}
.ct-form-field{flex:1;min-width:0;margin-bottom:0}
.ct-form-field.ct-full{margin-bottom:16px}
.ct-form-field label{display:block;font-size:14px;font-weight:700;color:#333;margin-bottom:6px}
.ct-form-field label em{color:#e74c3c;font-style:normal}
.ct-form-field input,.ct-form-field select,.ct-form-field textarea{width:100%;height:46px;border:1px solid #ddd;border-radius:8px;padding:0 14px;font-size:14px;color:#333;background:#fff;box-sizing:border-box;transition:border-color .2s}
.ct-form-field textarea{height:auto;padding:14px;resize:vertical;line-height:1.7}
.ct-form-field input:focus,.ct-form-field select:focus,.ct-form-field textarea:focus{border-color:#2d86d9;outline:none;box-shadow:0 0 0 3px rgba(45,134,217,.08)}
.ct-form-field select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%23999'/%3E%3C/svg%3E") no-repeat right 14px center #fff}

.ct-form-agree{margin:20px 0;padding:18px;background:#f8fafc;border-radius:8px;border:1px solid #e8ecf1}
.ct-form-agree label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#333;cursor:pointer}
.ct-form-agree input[type="checkbox"]{width:18px;height:18px;accent-color:#2d86d9}
.ct-agree-desc{margin:8px 0 0 26px;font-size:12px;color:#94a3b8;line-height:1.6}

.ct-form-btn{text-align:center;padding-top:8px}
.ct-form-btn button{display:inline-flex;align-items:center;gap:8px;padding:16px 48px;background:#2d86d9;color:#fff;font-size:17px;font-weight:900;border:0;border-radius:999px;cursor:pointer;transition:background .2s}
.ct-form-btn button:hover{background:#1b6fbf}
.ct-form-btn button:disabled{background:#94a3b8;cursor:not-allowed}

/* 모바일 */
@media(max-width:768px){
  .ct-intro{grid-template-columns:1fr;gap:24px}
  .ct-title{font-size:24px}
  .ct-desc{font-size:14px}
  .ct-tel-btn{font-size:16px;padding:12px 22px}
  .ct-form-row{flex-direction:column;gap:0;margin-bottom:0}
  .ct-form-field{margin-bottom:14px}
  .ct-form{padding:20px}
  .ct-form-header{padding:18px 20px}
  .ct-form-header h3{font-size:17px}
  .ct-form-btn button{width:100%;justify-content:center;font-size:16px;padding:14px}
}

@media(max-width:520px){
  .ct-title{font-size:22px}
  .ct-desc{font-size:13px}
  .ct-tel-btn{font-size:15px;padding:10px 20px}
  .ct-info-item span{font-size:13px}
  .ct-info-item strong{font-size:12px}
  .ct-info-item > i{width:34px;height:34px;font-size:14px}
  .ct-form-header h3{font-size:16px}
  .ct-form{padding:18px}
  .ct-form-field input,.ct-form-field select,.ct-form-field textarea{height:42px;font-size:13px}
  .ct-form-btn button{font-size:15px;padding:14px 36px}
}
@media(max-width:390px){
  .ct-title{font-size:20px}
  .ct-desc{font-size:12px}
  .ct-info-item span{font-size:12px}
  .ct-form{padding:14px}
  .ct-form-btn button{font-size:14px;padding:12px 28px}
}
