 :root{
      --bg:#f2f4f7;
      --card:#ffffff;
      --text:#111827;
      --muted:#6b7280;
      --line:#e5e7eb;
      --primary:#e80000; /* 빨강 버튼 */
      --primary-dark:#d900aa;
      --radius:16px;
    }
    *{box-sizing:border-box;}
    body{
      margin:0;
      font-family: system-ui, -apple-system, "Noto Sans KR", Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      background:var(--bg);
      color:var(--text);
    }
    .wrap{
      max-width: 520px;
      margin: 0 auto;
      padding: 14px 12px 28px;
    }
    .card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius: var(--radius);
      overflow:hidden;
      box-shadow: 0 6px 20px rgba(17,24,39,0.06);
    }
    .hero{
      width:100%;
      display:block;
      background:#fff;
    }
    .section{
      padding: 14px 14px 18px;
    }
    .form{
      display:flex;
      flex-direction:column;
      gap:12px;
      margin-top: 6px;
    }
    .field{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .label{
      width:84px;
      flex:0 0 84px;
      font-weight:700;
      font-size:15px;
      color:#111827;
    }
    .input{
      flex:1;
      height:46px;
      border:1px solid var(--line);
      border-radius:12px;
      padding: 0 12px;
      font-size:15px;
      outline:none;
      background:#fff;
    }
    .input:focus{
      border-color:#c7cbe0;
      box-shadow: 0 0 0 3px rgba(99,102,241,0.12);
    }
    .hint{
      font-size:12px;
      color:var(--muted);
      margin-left:94px;
      margin-top:-6px;
    }
    .consentRow{
      display:flex;
      align-items:center;
      gap:10px;
      margin-top: 4px;
      flex-wrap:wrap;
    }
    .checkbox{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:13px;
      color:#374151;
      line-height:1.35;
    }
    .checkbox input{
      width:18px;
      height:18px;
      accent-color: var(--primary);
    }
    .policyBtn{
      margin-left:auto;
      border:1px solid var(--line);
      background:#f9fafb;
      color:#111827;
      border-radius:10px;
      padding:10px 12px;
      font-size:13px;
      cursor:pointer;
      white-space:nowrap;
    }
    .policyBtn:active{transform:translateY(1px);}
    .cta{
      margin-top: 14px;
    }
    .submit{
      width:100%;
      height:54px;
      border:none;
      border-radius:14px;
      background: var(--primary);
      color:#fff;
      font-size:18px;
      font-weight:800;
      cursor:pointer;
      box-shadow: 0 10px 18px rgba(0,0,0,0.25);
    }
    .submit:active{transform:translateY(1px);}
    .submit:disabled{
      background:#c7c7c7;
      box-shadow:none;
      cursor:not-allowed;
    }

    /* 작은 화면에서 라벨 폭 줄이기 */
    @media (max-width: 360px){
      .label{width:72px; flex-basis:72px; font-size:14px;}
      .hint{margin-left:82px;}
    }

    /* 하단 안전영역(iPhone) */
    .safePad{
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }

    /* 모달 */
    .modalBack{
      position:fixed; inset:0;
      background:rgba(0,0,0,0.45);
      display:none;
      align-items:flex-end;
      justify-content:center;
      padding: 14px 12px;
      z-index:9999;
    }
    .modal{
      width:min(520px, 100%);
      background:#fff;
      border-radius:16px;
      overflow:hidden;
      border:1px solid var(--line);
      box-shadow: 0 14px 30px rgba(0,0,0,0.18);
    }
    .modalHead{
      padding:14px 14px 10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      border-bottom:1px solid var(--line);
    }
    .modalTitle{font-weight:800;}
    .closeBtn{
      border:none;
      background:#f3f4f6;
      border-radius:10px;
      padding:8px 10px;
      cursor:pointer;
    }
    .modalBody{
      padding:14px;
      font-size:13px;
      color:#374151;
      line-height:1.6;
      max-height: 55vh;
      overflow:auto;
    }
    .toast{
      margin-top:10px;
      font-size:12px;
      color:#ef4444;
      display:none;
    }
	
	
	/* ✅ 카카오 플로팅 배너 - 우측 하단 고정 */
.kakaoFloat{
  position: fixed;
  right: 14px;

  /* 아이폰 하단 홈바 안전영역 대응 */
  bottom: calc(30px + env(safe-area-inset-bottom));

  z-index: 9999;

  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: #FFE812;
  box-shadow: 0 12px 26px rgba(0,0,0,.22);

  display: flex;
  align-items: center;
  justify-content: center;

  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}

/* 살짝 떠있는 느낌 */
.kakaoFloat:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(0,0,0,.26);
}

.kakaoFloat img{
  width: 46px;
  height: 46px;
  display: block;
}

/* 365 빨간 뱃지 */
.kakaoFloat .kakaoBadge{
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 30px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: #ff3b30;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
}


/* ===== 하단 회사정보 푸터 ===== */
.siteFooter{
  margin-top: 40px;
  padding: 26px 16px calc(26px + env(safe-area-inset-bottom));
  background: #2b2b2b;
  color: #cfcfcf;
  font-size: 13px;
  line-height: 1.6;
}

.footerInner{
  max-width: 560px;
  margin: 0 auto;
}

.companyName{
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 14px;
}

.companyInfo p{
  margin: 4px 0;
}

.companyInfo span{
  display: inline-block;
  min-width: 110px;
  color: #9f9f9f;
}

.companyInfo a{
  color: #ffe812;
  text-decoration: none;
}

.copyright{
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 12px;
  color: #8d8d8d;
}