/* v2 — 상담 전 문진 UI 문법: 질문 하나씩, 진행 막대, 표면색 카드·알약 버튼 */
.lcrm{
  --sh:60,52,40; --bg:#F4F2ED; --sf:#FBFAF7; --pri:#293B3E; --mist:#E6E2D9; --ink:#1F2C2F; --mut:#8A9294; --ph:#BDB9B0;
  background:var(--bg);color:var(--ink);
  font-family:"Pretendard Variable",Pretendard,-apple-system,system-ui,sans-serif;font-size:16px;line-height:1.6;word-break:keep-all;-webkit-font-smoothing:antialiased
}
.lcrm,.lcrm *,.lcrm *::before,.lcrm *::after{box-sizing:border-box}
.lcrm h1,.lcrm p,.lcrm dl,.lcrm dt,.lcrm dd,.lcrm ol,.lcrm li{margin:0;padding:0}
.lcrm ol{list-style:none}
.lcrm a{color:inherit}
.lcrm :focus-visible{outline:2px solid var(--pri);outline-offset:3px}
.lcrm .lcrm-col{max-width:560px;margin:0 auto;padding:56px 24px 64px}
.lcrm .lcrm-soft{background:var(--sf);border:1px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:0 10px 24px rgba(var(--sh),.08)}

/* 시작 화면 */
.lcrm .lcrm-intro{text-align:center}
.lcrm .lcrm-mark{display:inline-block;width:120px;height:14px;opacity:.9;
  background:repeating-linear-gradient(90deg,var(--ink) 0 1.5px,transparent 1.5px 7px) bottom/100% 8px no-repeat,
             repeating-linear-gradient(90deg,var(--ink) 0 1.5px,transparent 1.5px 28px) bottom/100% 14px no-repeat}
.lcrm .lcrm-intro .lcrm-lbl{margin-top:24px}
.lcrm .lcrm-lbl{font-size:12px;line-height:1.3;letter-spacing:.16em;color:var(--mut);text-transform:uppercase}
.lcrm .lcrm-intro h1{margin-top:8px!important;font-size:28px!important;line-height:1.42!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--ink);text-wrap:balance}
.lcrm .lcrm-sumc{margin-top:32px;padding:4px 20px;text-align:left}
.lcrm .lcrm-sumc div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--mist);font-size:15px;line-height:1.4}
.lcrm .lcrm-sumc div:last-child{border:0}
.lcrm .lcrm-sumc dt{color:var(--mut)}
.lcrm .lcrm-sumc dd{font-weight:600;text-align:right}
.lcrm .lcrm-btn1{width:100%;height:56px;border-radius:999px;border:0;background:var(--pri);color:#fff;font:inherit;font-weight:600;font-size:16px;line-height:1.2;
  display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 18px rgba(var(--sh),.16);cursor:pointer;text-decoration:none;
  transition:background-color .2s ease,transform .12s ease}
.lcrm .lcrm-btn1:active{transform:scale(.985)}
.lcrm .lcrm-intro .lcrm-btn1{margin-top:32px}
.lcrm .lcrm-intro .lcrm-small{margin-top:16px;font-size:13px;color:var(--mut)}

/* 스텝 머리: 뒤로 + 진행 막대 */
.lcrm .lcrm-top{display:none;align-items:center;gap:12px;margin-bottom:24px}
.lcrm .lcrm-back{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);background:var(--sf);color:var(--ink);
  box-shadow:0 4px 10px rgba(var(--sh),.08);padding:0;cursor:pointer;flex:none}
.lcrm .lcrm-back svg{width:18px;height:18px}
.lcrm .lcrm-pbar{flex:1;display:flex;align-items:center;gap:8px}
.lcrm .lcrm-pbar i{flex:1;height:8px;border-radius:999px;background:var(--mist);overflow:hidden;box-shadow:inset 0 1px 2px rgba(var(--sh),.12)}
.lcrm .lcrm-pbar i b{display:block;height:100%;width:20%;border-radius:999px;background:var(--pri);transition:width .45s cubic-bezier(.22,.61,.36,1)}
.lcrm .lcrm-pbar span{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}
.lcrm .lcrm-q{display:none}
.lcrm .lcrm-q .lcrm-lbl{display:none}
.lcrm .lcrm-q p.lcrm-qt{font-size:24px;line-height:1.42;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.lcrm .lcrm-stepwrap{margin-top:8px}
.lcrm .lcrm-next{margin-top:24px}
.lcrm .lcrm-help{margin-top:24px;text-align:center;font-size:13px;color:var(--mut)}
.lcrm .lcrm-help a{color:var(--pri);font-weight:600}

/* 스텝 모드(스크립트가 켬): 시작 화면은 접고 스텝 하나만 보인다 */
.lcrm.is-steps .lcrm-top,.lcrm.is-steps .lcrm-q{display:flex}
.lcrm.is-steps .lcrm-q{display:block}
.lcrm.is-done .lcrm-top,.lcrm.is-done .lcrm-q,.lcrm.is-done .lcrm-dock{display:none!important}
.lcrm.is-steps.is-intro .lcrm-top,.lcrm.is-steps.is-intro .lcrm-q,.lcrm.is-steps.is-intro .lcrm-stepwrap,.lcrm.is-steps.is-intro .lcrm-next{display:none}
.lcrm.is-steps:not(.is-intro) .lcrm-intro{display:none}
.lcrm.is-steps [data-step]:not(.is-cur){display:none!important}
.lcrm.is-steps .lcrm-form .lcrm-legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lcrm.is-steps.is-last .lcrm-next{display:none}
.lcrm .lcrm-stage{animation:none}
.lcrm.is-steps .lcrm-stepwrap.is-in{animation:lcrmIn .32s cubic-bezier(.22,.61,.36,1)}
@keyframes lcrmIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lcrm.is-steps .lcrm-stepwrap.is-in{animation:none}.lcrm .lcrm-pbar i b{transition:none}}

/* C 폼을 문진 카드처럼 */
.lcrm .lcrm-form,.lcrm .lcrm-done{--lcrm-accent:#293B3E;--lcrm-ink:#1F2C2F;--lcrm-line:#E6E2D9;--lcrm-bg:#FBFAF7;--lcrm-radius:16px;--lcrm-muted:#6F787A;max-width:none}
.lcrm .lcrm-form .lcrm-group{margin:0 0 24px}
.lcrm .lcrm-form .lcrm-label{font-size:13px;font-weight:600;color:var(--mut);letter-spacing:.02em}
.lcrm .lcrm-form .lcrm-input{height:56px;border-radius:999px;padding:0 20px;border:1px solid rgba(255,255,255,.8);background:var(--sf);box-shadow:0 4px 12px rgba(var(--sh),.07);font-weight:600}
.lcrm .lcrm-form textarea.lcrm-input{height:auto;min-height:140px;border-radius:18px;padding:14px 18px;font-weight:400}
.lcrm .lcrm-form .lcrm-input:focus{outline:0;border-color:var(--pri);box-shadow:0 0 0 1px var(--pri),0 4px 12px rgba(var(--sh),.07)}
.lcrm .lcrm-form .lcrm-input::placeholder{color:var(--ph);font-weight:500}
.lcrm .lcrm-form .lcrm-choices{gap:8px}
.lcrm .lcrm-form .lcrm-choice{min-height:52px;align-items:center;padding:12px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.7);background:var(--sf);
  box-shadow:0 3px 10px rgba(var(--sh),.06);font-weight:500;transition:background-color .2s ease,color .2s ease,transform .12s ease}
.lcrm .lcrm-form .lcrm-choice:active{transform:scale(.985)}
.lcrm .lcrm-form .lcrm-choice input{margin:0}
.lcrm .lcrm-form .lcrm-choice:has(input:checked){background:var(--pri);color:#fff;border-color:var(--pri)}
.lcrm .lcrm-form .lcrm-choice:has(input:checked) input{accent-color:#fff}
.lcrm .lcrm-form .lcrm-consents .lcrm-choice,.lcrm .lcrm-form [data-lcrm-field="age19"] .lcrm-choice,
.lcrm .lcrm-form [data-lcrm-field="commit_6m"] .lcrm-choice,.lcrm .lcrm-form [data-lcrm-field="not_recent_patient"] .lcrm-choice{border:1px solid rgba(255,255,255,.7);padding:12px 16px;width:100%}
.lcrm .lcrm-form .lcrm-consent{border-top:0;padding:4px 0}
.lcrm .lcrm-form .lcrm-privacy-note,.lcrm .lcrm-form .lcrm-guide{background:color-mix(in srgb,var(--mist) 70%,var(--sf));border-radius:18px}
.lcrm .lcrm-form .lcrm-slot-box{border:1px solid rgba(255,255,255,.8);border-radius:16px;background:var(--sf);box-shadow:0 3px 10px rgba(var(--sh),.06)}
.lcrm .lcrm-form .lcrm-submit{height:56px;border-radius:999px;background:var(--pri);box-shadow:0 8px 18px rgba(var(--sh),.16)}
.lcrm .lcrm-form .lcrm-req{color:var(--pri)}
@media (max-width:768px){
  .lcrm .lcrm-col{padding:32px 20px 48px}
  .lcrm .lcrm-intro h1{font-size:22px!important}
  .lcrm .lcrm-q p.lcrm-qt{font-size:21px}
  .lcrm .lcrm-btn1,.lcrm .lcrm-form .lcrm-submit{height:52px}
  .lcrm .lcrm-form .lcrm-input{height:54px}
  .lcrm .lcrm-form textarea.lcrm-input{height:auto}
}

/* v3 — 소개 확장: 사진 히어로 + 부위 카드 + 안내 표 + 절차 */
.lcrm .lcrm-hero3{position:relative;overflow:hidden;min-height:560px;display:grid;place-items:center;background:#C9C6BF;color:#fff;text-align:center}
.lcrm .lcrm-hero3__media{position:absolute;inset:0}
.lcrm .lcrm-hero3__media img{width:100%;height:100%;object-fit:cover;display:block}
.lcrm .lcrm-hero3::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,30,.62) 0%,rgba(20,28,30,.18) 40%,rgba(20,28,30,.18) 60%,rgba(20,28,30,.66) 100%)}
.lcrm .lcrm-hero3__ph{position:absolute;left:16px;top:16px;z-index:2;font-size:12px;line-height:1.3;padding:6px 10px;border:1px dashed rgba(255,255,255,.7);border-radius:6px;color:#fff}
.lcrm .lcrm-hero3__in{position:relative;z-index:2;max-width:760px;padding:96px 24px}
.lcrm .lcrm-hero3__lbl{font-size:13px;line-height:1.3;letter-spacing:.23em;font-weight:500;color:#DDBE85}
.lcrm .lcrm-hero3 h1{margin-top:16px!important;font-size:40px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:-.025em!important;color:#fff;text-wrap:balance}
.lcrm .lcrm-btn1--light{display:inline-flex;width:auto;min-width:240px;padding:0 32px;margin-top:32px;background:#DDBE85;color:#1A2A2D}
.lcrm .lcrm-info{max-width:960px;margin:0 auto;padding:64px 24px 0}
.lcrm .lcrm-blk{margin-bottom:64px}
.lcrm .lcrm-blk .lcrm-lbl{text-align:center}
.lcrm .lcrm-h2{margin:8px 0 24px!important;font-size:28px!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-.01em!important;text-align:center;color:var(--ink)}
.lcrm .lcrm-areas3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lcrm .lcrm-areas3 li{padding:24px 20px}
.lcrm .lcrm-areas3 b{display:block;font-size:20px;line-height:1.3;font-weight:600}
.lcrm .lcrm-areas3 span{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--mut)}
.lcrm .lcrm-tbl{margin:0;padding:4px 24px}
.lcrm .lcrm-tbl div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--mist);font-size:15px;line-height:1.5}
.lcrm .lcrm-tbl div:last-child{border:0}
.lcrm .lcrm-tbl dt{color:var(--mut)}
.lcrm .lcrm-tbl dd{margin:0;font-weight:600}
.lcrm .lcrm-steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lcrm .lcrm-steps3 li{padding:20px}
.lcrm .lcrm-steps3 em{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--mut)}
.lcrm .lcrm-steps3 b{display:block;margin-top:8px;font-size:17px;line-height:1.3;font-weight:600}
.lcrm .lcrm-steps3 span{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--mut)}
.lcrm .lcrm-cta3{max-width:560px;margin:0 auto;padding:0 0 24px}
.lcrm.is-steps:not(.is-intro) .lcrm-hero3,.lcrm.is-steps:not(.is-intro) .lcrm-info{display:none}
@media (max-width:768px){
  .lcrm .lcrm-hero3{min-height:520px}
  .lcrm .lcrm-hero3 h1{font-size:26px!important}
  .lcrm .lcrm-btn1--light{width:100%;min-width:0}
  .lcrm .lcrm-info{padding:48px 20px 0}
  .lcrm .lcrm-blk{margin-bottom:48px}
  .lcrm .lcrm-h2{font-size:22px!important;margin-bottom:16px!important}
  .lcrm .lcrm-areas3,.lcrm .lcrm-steps3{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lcrm .lcrm-areas3 li{padding:16px}
  .lcrm .lcrm-areas3 b{font-size:17px}
  .lcrm .lcrm-areas3 span{font-size:13px}
  .lcrm .lcrm-tbl{padding:4px 16px}
  .lcrm .lcrm-tbl div{grid-template-columns:76px 1fr;gap:12px;font-size:14px}
  .lcrm .lcrm-steps3 li{padding:16px}
}
@media (max-width:600px){.lcrm .lcrm-hero3{min-height:0!important;aspect-ratio:3/4;place-items:start center!important;align-content:start!important}.lcrm .lcrm-hero3__in{padding:32px 20px 0!important}.lcrm .lcrm-hero3 h1{font-size:24px!important;margin-top:10px!important}.lcrm .lcrm-hero3 .lcrm-btn1{margin-top:20px!important;height:48px}.lcrm .lcrm-hero3__media img{object-position:center top}}

/* ═══ v4 피드백(10-28) ═══ */
.lcrm .lcrm-areas3 li{padding:0!important}
.lcrm .lcrm-areacard{display:block;height:100%;padding:24px 20px;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .2s ease}
.lcrm .lcrm-areacard:active{transform:scale(.985)}
.lcrm .lcrm-areacard:hover{box-shadow:0 12px 26px rgba(var(--sh),.14)}
.lcrm .lcrm-areacard b{display:block;font-size:20px;line-height:1.3;font-weight:600}
.lcrm .lcrm-areacard span{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--mut)}
.lcrm .lcrm-areacard i{display:block;margin-top:12px;font-style:normal;font-size:13px;line-height:1.2;font-weight:600;color:#8A6A33}
.lcrm .lcrm-btn1--full{width:100%;min-width:0;margin-top:0}
.lcrm .lcrm-help2{display:flex;gap:8px;justify-content:center;margin-top:24px}
.lcrm .lcrm-obtn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--pri);border-radius:999px;color:var(--pri);font-size:14px;line-height:1.2;font-weight:600;text-decoration:none;flex:1;max-width:240px}
.lcrm .lcrm-dock{display:flex;gap:8px;margin-top:24px}
.lcrm .lcrm-dock .lcrm-next{margin-top:0;flex:1}
.lcrm .lcrm-dockback{flex:none;height:56px;padding:0 20px;border-radius:999px;border:1px solid var(--mist);background:var(--sf);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
.lcrm.is-steps.is-intro .lcrm-dock{display:none}
.lcrm.is-steps.is-last .lcrm-dock .lcrm-next{display:none}
@media (max-width:768px){
  .lcrm.is-steps:not(.is-intro) .lcrm-dock{position:fixed;left:0;right:0;bottom:0;z-index:60;margin:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:rgba(244,242,237,.96);box-shadow:0 -6px 16px rgba(var(--sh),.08)}
  .lcrm.is-steps:not(.is-intro) .lcrm-col{padding-bottom:120px}
  .lcrm .lcrm-dockback{height:52px}
  .lcrm .lcrm-help2{flex-direction:column;align-items:stretch}
  .lcrm .lcrm-obtn{max-width:none}
}
@media (max-width:600px){
  .lcrm .lcrm-steps3{display:block;position:relative}
  .lcrm .lcrm-steps3::before{content:"";position:absolute;left:17px;top:20px;bottom:20px;width:1px;background:#D8D3C8}
  .lcrm .lcrm-steps3 li{position:relative;background:none;border:0;box-shadow:none;padding:8px 0 16px 52px}
  .lcrm .lcrm-steps3 em{position:absolute;left:0;top:6px;width:36px;height:36px;border-radius:50%;background:var(--pri);color:#fff;display:grid;place-items:center;letter-spacing:0;font-size:13px}
  .lcrm .lcrm-steps3 b{margin-top:0}
}
@keyframes lcrmInBack{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.lcrm.is-steps .lcrm-stepwrap.is-in.is-backward{animation-name:lcrmInBack}
.lcrm.is-io .lcrm-info .lcrm-blk{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.lcrm.is-io .lcrm-info .lcrm-blk.is-seen{opacity:1;transform:none}
.lcrm .lcrm-hero3,.lcrm .lcrm-info{transition:opacity .2s ease}
.lcrm.is-leaving .lcrm-hero3,.lcrm.is-leaving .lcrm-info{opacity:0}
.lcrm .lcrm-form .lcrm-slot-preview{opacity:0;transition:opacity .2s ease}
.lcrm .lcrm-form .lcrm-slot.has-photo .lcrm-slot-preview{opacity:1}
.lcrm .lcrm-form .lcrm-slot.has-photo .lcrm-slot-box{border:2px solid #C4A265}
@media (prefers-reduced-motion:reduce){
  .lcrm.is-io .lcrm-info .lcrm-blk{opacity:1;transform:none;transition:none}
  .lcrm .lcrm-hero3,.lcrm .lcrm-info,.lcrm .lcrm-form .lcrm-slot-preview{transition:none}
  .lcrm.is-steps .lcrm-stepwrap.is-in.is-backward{animation:none}
}
/* 배포 메모(E 확인, 10-28): 지원서 단계에서 라이브 하단 바 숨김 — (max-width:768px) 안에
   html body.lcrm-steps-on #lcMobileDock, html body.lcrm-steps-on #lcHolidayFab, html body.lcrm-steps-on .lc-dock-sheet, html body.lcrm-steps-on .lc-dock-backdrop{display:none!important}
   html body[class].lcrm-steps-on{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}  (0 으로 만들지 말 것 — 라이브 257행 경고)
   진료안내 띠(.lc-dock-notice)는 #lcMobileDock 안이라 같이 빠진다. 아래 .lcrm-pv-dock 은 시안 전용 흉내. */
/* 지원서 단계(.lcrm.is-steps:not(.is-intro) → body.lcrm-steps-on)에서 라이브 모바일 하단 바 숨김.
   padding-bottom 은 0 으로 만들지 않는다(라이브 lc-mobile-dock 257행 경고) — 뒤로·다음 바 높이로 바꾼다. */
@media (max-width:768px){
  html body.lcrm-steps-on #lcMobileDock, html body.lcrm-steps-on #lcHolidayFab, html body.lcrm-steps-on .lc-dock-sheet, html body.lcrm-steps-on .lc-dock-backdrop{display:none!important}
  html body[class].lcrm-steps-on{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
}

/* 0.1.9 (10-29) 히어로 교체: 인물 왼쪽 사진 — PC 는 제목·버튼을 오른쪽, 모바일은 아래쪽 */
.lcrm .lcrm-hero3{place-items:center end;text-align:left}
.lcrm .lcrm-hero3::after{background:linear-gradient(270deg,rgba(20,28,30,.6) 0%,rgba(20,28,30,.36) 36%,rgba(20,28,30,0) 60%),linear-gradient(180deg,rgba(20,28,30,.35) 0%,rgba(20,28,30,0) 30%)}
.lcrm .lcrm-hero3__in{max-width:520px;margin-right:max(24px,calc((100vw - 1200px)/2));padding:96px 0}
.lcrm .lcrm-hero3__lbl{color:#F1D9A8;text-shadow:0 1px 6px rgba(20,28,30,.35)}
@media (max-width:600px){
  .lcrm .lcrm-hero3{place-items:end center!important;align-content:end!important;text-align:center}
  .lcrm .lcrm-hero3::after{background:linear-gradient(180deg,rgba(20,28,30,.25) 0%,rgba(20,28,30,0) 35%,rgba(20,28,30,.15) 55%,rgba(20,28,30,.72) 100%)}
  .lcrm .lcrm-hero3__in{margin:0;padding:0 20px 32px!important;max-width:none}
}

/* 0.1.10 (10-29) SNS 링크 줄: 페이지 입력칸(56px·알약형)에 맞춰 종류 칸이 잘리지 않게 */
.lcrm .lcrm-form .lcrm-link{grid-template-columns:150px minmax(0,1fr) 56px;gap:8px}
.lcrm .lcrm-form .lcrm-link select.lcrm-input{padding:0 34px 0 18px;text-overflow:ellipsis}
.lcrm .lcrm-form .lcrm-link-del{width:56px;height:56px;border-radius:999px;border:1px solid rgba(255,255,255,.8);background:var(--sf);box-shadow:0 4px 12px rgba(var(--sh),.07)}
.lcrm .lcrm-form .lcrm-link-add{height:52px;border-radius:999px}
@media (max-width:600px){.lcrm .lcrm-form .lcrm-link{grid-template-columns:128px minmax(0,1fr) 48px;gap:6px}.lcrm .lcrm-form .lcrm-link select.lcrm-input{padding:0 28px 0 14px;font-size:14px}.lcrm .lcrm-form .lcrm-link-del{width:48px;height:48px}}
