.hwtfc-wrap{--hwtfc-accent:#294e9b;position:relative;left:50%;isolation:isolate;box-sizing:border-box;width:100vw;max-width:none;min-height:900px;margin-left:-50vw;padding:150px 28px;overflow:hidden;background-color:#07172e;background-image:var(--hwtfc-people),radial-gradient(ellipse at center bottom,rgba(0,0,0,.58) 0%,rgba(0,0,0,.30) 42%,rgba(0,0,0,0) 72%);background-repeat:no-repeat;background-position:right calc(14vw - min(170px,13.5vw)) bottom -70px,right calc(14vw - min(170px,13.5vw)) bottom;background-size:auto 70%,48% 67%;color:#172033;font-family:"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif}.hwtfc-wrap *{box-sizing:border-box}.hwtfc-head,.hwtfc-form{position:relative;z-index:2;width:min(680px,54vw);max-width:680px;margin-left:calc(28vw - min(340px,27vw))}.hwtfc-head{margin-bottom:36px;text-align:left}.hwtfc-head h2{display:flex;align-items:center;gap:17px;margin:0!important;color:#f8faff!important;font-size:50px!important;font-weight:800!important;line-height:1.18!important;letter-spacing:-.05em!important;white-space:nowrap;text-shadow:0 2px 18px rgba(0,0,0,.18)}.hwtfc-badge{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;color:#07172e!important;font-size:50px!important;font-weight:900!important;line-height:1.18!important;text-shadow:none}.hwtfc-badge:before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:translateY(-4px)}.hwtfc-head p{max-width:520px;margin:19px 0 0;color:#c3cede;font-size:15px}.hwtfc-form{padding:28px 30px 32px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.58);box-shadow:0 26px 70px rgba(0,0,0,.34);backdrop-filter:blur(8px)}.hwtfc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.hwtfc-form label>span,.hwtfc-form legend{display:block;margin-bottom:9px;color:#202a3b;font-size:15px;font-weight:700}.hwtfc-form label>span em{margin-left:5px;color:#8a93a1;font-size:12px;font-style:normal;font-weight:500}.hwtfc-form b{color:var(--hwtfc-accent)}.hwtfc-form input[type=text],.hwtfc-form input[type=tel],.hwtfc-form select{width:100%;height:54px;margin:0!important;padding:0 16px!important;border:1px solid #cbd2dc!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;color:#202a3b!important;font:inherit!important}.hwtfc-form input:focus,.hwtfc-form select:focus{border-color:var(--hwtfc-accent)!important;outline:2px solid color-mix(in srgb,var(--hwtfc-accent) 18%,transparent)}.hwtfc-form fieldset{margin:23px 0 0;padding:0;border:0}.hwtfc-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hwtfc-options--four{grid-template-columns:repeat(4,1fr)}.hwtfc-options label{position:relative}.hwtfc-options input{position:absolute;opacity:0}.hwtfc-options span{display:flex!important;align-items:center;justify-content:center;min-height:48px;margin:0!important;padding:8px 5px;border:1px solid #cbd2dc;background:#fff;cursor:pointer;font-size:13px!important;font-weight:600!important;text-align:center}.hwtfc-options input:checked+span{border-color:#223e72;background:#223e72;color:#fff}.hwtfc-select{display:block;margin-top:23px}.hwtfc-privacy{display:flex!important;align-items:flex-start;gap:9px;margin-top:22px}.hwtfc-privacy input{flex:0 0 auto;width:19px;height:19px;margin:1px 0 0}.hwtfc-privacy span{margin:0!important;color:#202a3b;font-size:14px!important;font-weight:500!important}.hwtfc-privacy-open{display:inline!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#202a3b!important;font:inherit!important;font-weight:600!important;text-decoration:underline!important;text-underline-offset:3px;cursor:pointer}.hwtfc-submit{width:100%;height:58px;margin-top:24px!important;border:0!important;border-radius:999px!important;background:#223e72!important;color:#fff!important;font:700 17px/1 inherit!important;text-shadow:none!important;cursor:pointer}.hwtfc-submit:disabled{opacity:.65}.hwtfc-message{min-height:24px;margin:14px 0 0;text-align:center;color:var(--hwtfc-accent);font-weight:700}.hwtfc-phone{display:block;margin-top:6px;text-align:center;color:#687386!important;font-size:14px;text-decoration:none!important}.hwtfc-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.hwtfc-logo{position:absolute;z-index:2;right:28%;top:140px;width:330px;max-width:25vw;height:auto;transform:translateX(50%);filter:brightness(0) invert(1)!important}.hwtfc-modal[hidden]{display:none!important}.hwtfc-modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}.hwtfc-modal-backdrop{position:absolute;inset:0;background:rgba(2,10,24,.68)}.hwtfc-modal-dialog{position:relative;z-index:1;width:min(440px,100%);padding:30px;border-radius:6px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.4)}.hwtfc-modal-dialog h3{margin:0 0 20px!important;color:#172033!important;font-size:21px!important}.hwtfc-modal-close{position:absolute;right:16px;top:12px;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#657080!important;font:300 30px/1 Arial!important;cursor:pointer}.hwtfc-modal-body{color:#4f5b6b;font-size:14px;line-height:1.65}.hwtfc-modal-body p{margin:0 0 14px}.hwtfc-modal-body strong{color:#202a3b}.hwtfc-modal-confirm{width:100%;height:46px;margin-top:8px!important;border:0!important;border-radius:3px!important;background:#223e72!important;color:#fff!important;font:700 15px/1 inherit!important;cursor:pointer}body.hwtfc-modal-open{overflow:hidden}
@media(max-width:1050px){.hwtfc-wrap{min-height:0;padding:86px 28px 500px;background-position:center bottom -35px,center bottom;background-size:auto 430px,500px 360px}.hwtfc-head,.hwtfc-form{width:min(680px,100%);max-width:680px;margin-left:auto;margin-right:auto}.hwtfc-head h2{font-size:40px!important}.hwtfc-badge{padding:0 13px;font-size:40px!important}.hwtfc-logo{right:50%;top:auto;bottom:438px;width:150px;max-width:30vw}}
@media(max-width:760px){.hwtfc-wrap{padding:48px 18px calc(61vw + 180px);background-position:center bottom -24px,center bottom;background-size:70vw auto,78vw 58vw}.hwtfc-head{margin-bottom:28px;text-align:center}.hwtfc-head h2{justify-content:center;gap:10px;font-size:32px!important;text-align:center}.hwtfc-badge{padding:0 11px;font-size:32px!important}.hwtfc-head p{margin-left:auto;margin-right:auto;font-size:14px;line-height:1.65;text-align:center}.hwtfc-form{padding:24px 20px 27px}.hwtfc-grid{grid-template-columns:1fr;gap:18px}.hwtfc-options--four{grid-template-columns:1fr 1fr}.hwtfc-options span{font-size:12px!important}.hwtfc-logo{right:50%;bottom:calc(61vw + 64px);width:50vw;max-width:50vw}.hwtfc-submit{height:56px}.hwtfc-privacy span{font-size:13px!important}.hwtfc-modal-dialog{padding:26px 22px}}

/* 인물은 배경과 분리하여 실제 레이어 자체를 섹션 바닥에 고정합니다. */
.hwtfc-wrap{background-image:radial-gradient(ellipse at 76% 100%,rgba(0,0,0,.58) 0%,rgba(0,0,0,.30) 42%,rgba(0,0,0,0) 72%)!important;background-position:center bottom!important;background-size:48% 67%!important}
.hwtfc-people{position:absolute;z-index:0;right:calc(14vw - min(170px,13.5vw));bottom:-78px;width:55vw;height:70%;background-image:var(--hwtfc-people);background-repeat:no-repeat;background-position:right bottom;background-size:auto 100%;pointer-events:none}
@media(max-width:1050px){.hwtfc-people{right:50%;bottom:-42px;width:100%;height:472px;transform:translateX(50%);background-position:center bottom;background-size:auto 430px}}
@media(max-width:760px){.hwtfc-people{right:50%;bottom:-8vw;width:100%;height:72vw;transform:translateX(50%);background-position:center bottom;background-size:70vw auto}}

/* 전송 메시지가 없을 때 버튼 사이에 빈 공간을 만들지 않습니다. */
.hwtfc-message:empty{display:none}
.hwtfc-phone{margin-top:24px!important}

/* 테마의 전역 버튼/링크 효과가 상담 폼에 덮이지 않도록 고정합니다. */
.hwtfc-wrap .hwtfc-submit{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	float:none!important;
	width:100%!important;
	min-width:100%!important;
	max-width:none!important;
	padding:0 24px!important;
	box-shadow:none!important;
	font-family:inherit!important;
	font-size:17px!important;
	font-weight:700!important;
	line-height:1!important;
	letter-spacing:0!important;
	text-indent:0!important;
	text-transform:none!important;
	text-shadow:none!important;
}
.hwtfc-wrap .hwtfc-phone,
.hwtfc-wrap .hwtfc-privacy,
.hwtfc-wrap .hwtfc-privacy-open{
	box-shadow:none!important;
	text-shadow:none!important;
}

.hwtfc-success-dialog{text-align:center}.hwtfc-success-dialog h3{margin-bottom:12px!important}.hwtfc-success-dialog p{margin:0 0 22px;color:#596577;font-size:15px;line-height:1.65}.hwtfc-success-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#223e72;color:#fff;font-size:30px;font-weight:800;line-height:1;text-shadow:none}

/* PC에서 인물 아래로 남는 남색 바닥 여백을 제거합니다. */
@media(min-width:1051px){.hwtfc-wrap{padding-bottom:56px}}

/* 인물 뒤의 별도 그라데이션을 제거해 섹션의 실제 끝을 명확하게 표시합니다. */
.hwtfc-wrap{background-image:none!important;background-color:#07172e!important}

/* 기준 화면과 동일하게 인물을 섹션 배경의 70% 크기로 바닥 정렬합니다. */
.hwtfc-people{display:none!important}
.hwtfc-wrap{background-color:#07172e!important;background-image:var(--hwtfc-people)!important;background-repeat:no-repeat!important;background-position:right calc(14vw - min(170px,13.5vw)) bottom!important;background-size:auto 70%!important}
@media(max-width:1050px){.hwtfc-wrap{background-position:center bottom!important;background-size:auto 430px!important}}
@media(max-width:760px){.hwtfc-wrap{background-position:center bottom!important;background-size:70vw auto!important}}

/* 새 상담 폼은 내용 높이만큼만 섹션을 사용합니다. */
@media(min-width:1051px){.hwtfc-wrap{min-height:0!important;height:auto!important;padding-bottom:56px!important}}

@media(min-width:1051px){.hwtfc-wrap{background-size:auto 75%!important}}

@media(min-width:1051px){.hwtfc-wrap{padding-bottom:100px!important}}

/* PC에서 최소 한 화면을 채우되 내용이 길면 자연스럽게 확장됩니다. */
@media(min-width:1051px){.hwtfc-wrap{min-height:100vh!important;min-height:100svh!important;height:auto!important}}

/* 로고와 인물, 제목과 폼을 각각 같은 좌표계에서 정렬합니다. */
@media(min-width:1051px){
  .hwtfc-wrap{--hwtfc-vpad:clamp(72px,9vh,130px);display:grid!important;align-items:center!important;min-height:100vh!important;min-height:100svh!important;padding:var(--hwtfc-vpad) 28px!important;background-image:none!important}
  .hwtfc-content{position:relative;z-index:2;width:min(680px,54vw);margin-left:calc(28vw - min(340px,27vw))}
  .hwtfc-head,.hwtfc-form{width:100%!important;max-width:none!important;margin-left:0!important}
  .hwtfc-visual{position:absolute;z-index:1;right:calc(14vw - min(170px,13.5vw));bottom:0;height:70%;aspect-ratio:1024/891}
  .hwtfc-visual-people{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;object-position:right bottom}
  .hwtfc-visual-logo{position:absolute;left:50%;top:0;display:block!important;width:min(330px,43%)!important;height:auto!important;max-width:none!important;transform:translate(-50%,calc(-1 * clamp(92px,13vh,145px)));filter:brightness(0) invert(1)!important}
  .hwtfc-logo,.hwtfc-people{display:none!important}
}
@media(max-width:1050px){
  .hwtfc-wrap{background-image:none!important}
  .hwtfc-content{position:relative;z-index:2}
  .hwtfc-visual{position:absolute;z-index:1;left:50%;bottom:0;width:auto;height:430px;aspect-ratio:1024/891;transform:translateX(-50%)}
  .hwtfc-visual-people{display:block!important;width:100%!important;height:100%!important;object-fit:contain;object-position:center bottom}
  .hwtfc-visual-logo{position:absolute;left:50%;top:-66px;width:150px!important;height:auto!important;transform:translateX(-50%);filter:brightness(0) invert(1)!important}
  .hwtfc-logo,.hwtfc-people{display:none!important}
}
@media(max-width:760px){
  .hwtfc-visual{width:70vw;height:auto;aspect-ratio:1024/891}
  .hwtfc-visual-logo{top:-58px;width:50vw!important;max-width:210px!important}
}

/* 태블릿에서는 로고를 인물 쪽으로 내려 간격을 자연스럽게 맞춥니다. */
@media(min-width:761px) and (max-width:1050px){.hwtfc-visual-logo{top:-52px!important}}

/* 모바일 폼과 로고·인물 그룹 사이의 과한 빈 공간을 줄입니다. */
@media(max-width:760px){.hwtfc-wrap{padding-bottom:calc(61vw + 120px)!important}}

/* 모바일에서 폼-로고 위치는 유지하고 로고-인물 간격만 넓힙니다. */
@media(max-width:760px){
  .hwtfc-wrap{padding-bottom:calc(61vw + 152px)!important}
  .hwtfc-visual-logo{top:-90px!important}
}
