/* 문의하기 전용 (Reserve 디자인) */
.sm{font-family:'Song Myung','Noto Serif KR',serif}
.ct-wrap{max-width:1360px;margin:0 auto;padding:64px 40px 110px;display:flex;flex-wrap:wrap;gap:56px 88px;align-items:flex-start;box-sizing:border-box}
.ct-left{flex:1 1 420px;display:flex;flex-direction:column;gap:24px;min-width:0}
.ct-steps{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;border-top:3px solid #1B1714}
.ct-steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(27,23,20,.14)}
.ct-steps .no{display:grid;place-items:center;width:56px;height:56px;font-size:28px}
.ct-steps .stx{display:flex;flex-direction:column}
.ct-steps h3{margin:0;font-weight:900;font-size:22px;line-height:1.4}
.ct-steps .sd2{font-size:17px;line-height:1.6;color:#463F38}
.ct-tel{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:12px}
.ct-tel-t{display:flex;flex-direction:column;gap:4px}
.ct-tel-k{font-size:16px;font-weight:700;letter-spacing:.1em;color:#6B6158}
.ct-tel-n{font-weight:900;font-size:44px;line-height:1.2;text-decoration:none}
.ct-tel-s{font-size:17px;color:#463F38}
.ct-tel img{width:120px;height:auto;flex:none}
.idle{transform-origin:50% 4%;animation:idle 5s ease-in-out infinite alternate}
@keyframes idle{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
.ct-right{flex:1.25 1 560px;min-width:0}
.ct-form,.ct-done{padding:48px 48px 44px;background:#FFFFFF;border:2px solid #1B1714;box-shadow:16px 16px 0 #EDBE2F;box-sizing:border-box}
.ct-form{display:flex;flex-direction:column;gap:26px}
.ct-form[hidden],.ct-done[hidden]{display:none}
.ct-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ct-head h2{margin:0;font-weight:900;font-size:44px;line-height:1.3}
.ct-req-note{font-size:16px;color:#6B6158}
.req{color:#B8231B}
.hint{font-weight:400;color:#6B6158}
.messages{font-size:18px;font-weight:700;line-height:1.6}
.messages:empty{display:none}
.messages.error{padding:14px 18px;border:2px solid #B8231B;background:#FDECEA;color:#8F1710}
.messages.ok{padding:14px 18px;border:2px solid #3C9D46;background:#EAF6EC;color:#1E5A27}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}
.fgrid .full{grid-column:1 / -1}
.fld{display:flex;flex-direction:column;gap:8px;font-size:18px;font-weight:700;line-height:1.4;min-width:0}
.fld input,.fld select,.fld textarea{min-height:62px;padding:0 16px;box-sizing:border-box;width:100%;background:#FFFFFF;border:2px solid #1B1714;border-radius:0;font:inherit;font-weight:400;font-size:19px;color:#1B1714}
.fld textarea{min-height:150px;padding:14px 16px;line-height:1.7;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:4px solid #EDBE2F;outline-offset:0;border-color:#B8231B}
.fld [aria-invalid="true"],.fld input.bad{border-color:#B8231B;background:#FFF6F5}
.ferr{min-height:0;font-size:16px;font-weight:700;color:#B8231B;line-height:1.5}
.ferr:empty{display:none}
.fld .iti{display:block;width:100%}
.ct-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;min-height:52px;font-size:18px;font-weight:700;cursor:pointer}
.ct-toggle input{width:26px;height:26px;margin:0;accent-color:#2457B3}
.ct-toggle .hint{font-size:16px}
.ct-intl{padding:22px 22px 24px;background:#EEF2FA;border:2px solid #2457B3;font-size:17px;line-height:1.7}
.ct-intl[hidden]{display:none}
.ct-intl strong{display:block;font-size:18px;margin-bottom:4px}
.ct-intl ul{margin:0;padding-left:22px}
.ct-intl-x{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;background:#EEF2FA}
.ct-intl-x[hidden]{display:none}
.ct-intl-n{grid-column:1 / -1;margin:0;font-size:16px;line-height:1.7;color:#1E4690}
.ct-agree{display:flex;flex-direction:column;gap:6px}
.ct-agree-l{display:flex;align-items:center;gap:14px;min-height:48px;font-size:17px;cursor:pointer}
.ct-agree-l input{width:26px;height:26px;margin:0;flex:none;accent-color:#B8231B}
.ct-submit{width:100%;min-height:68px;font-size:21px}
.ct-submit:disabled{opacity:.6;cursor:wait}
.ct-foot{margin:0;font-size:16px;color:#6B6158}
.ct-done{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:56px 52px}
.ct-done img{width:130px;height:auto;transform-origin:50% 4%}
.ct-done img.shake{animation:shake 1.1s cubic-bezier(.36,.07,.19,.97) both}
@keyframes shake{0%,100%{transform:rotate(0)}12%{transform:rotate(-16deg)}26%{transform:rotate(14deg)}40%{transform:rotate(-10deg)}55%{transform:rotate(7deg)}70%{transform:rotate(-4deg)}85%{transform:rotate(2deg)}}
.ct-done h2{margin:0;font-weight:900;font-size:44px;line-height:1.25}
.ct-done p{margin:0;color:#463F38}
.ct-done .ct-done-s{font-weight:700;color:#1E5A27}
/* reCAPTCHA v3 배지: 하단 고정 버튼과 겹치지 않게 */
.grecaptcha-badge{z-index:60}
@media (max-width:900px){
  .ct-wrap{padding:36px 18px 72px;gap:36px}
  .ct-form,.ct-done{padding:28px 20px 28px;box-shadow:8px 8px 0 #EDBE2F}
  .ct-head h2,.ct-done h2{font-size:32px}
  .ct-tel-n{font-size:34px}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .ct-intl-x{grid-template-columns:minmax(0,1fr)}
}
