/* ── building-care.html (우편QR 캠페인 랜딩) 전용 ───────────────
   styles.css 위에 얹는 페이지 stylesheet. 공유 3개 페이지는 이 파일을 읽지 않으므로
   여기서 무엇을 정의해도 index / fire / leak 화면에는 번지지 않는다.
   문법은 사이트 기준을 그대로 따른다: border-radius 0, box-shadow 0, gradient 0,
   선과 타이포로만 구분, 경고색·색면 남용 금지, 한글 keep-all(base) 전제. */

/* ── 1. 첫 화면 ─────────────────────────────────────────── */
.cm-hero{padding:42px 0 44px;border-bottom:1px solid var(--line)}
.cm-kicker{font-size:12.5px;font-weight:700;color:var(--navy);margin:0 0 15px;line-height:1.5}
.cm-hero h1{font-size:clamp(25px,3.9vw,38px);line-height:1.42;letter-spacing:-.025em;margin:0 0 18px;color:var(--navy);font-weight:700;max-width:19em}
.cm-hero h1 .cm-h1-2{display:block}
.cm-hero .lead{max-width:560px;margin:0 0 24px}
.cm-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted);margin:14px 0 0}
.cm-meta span::before{content:"·";margin-right:8px}
.cm-meta span:first-child::before{content:"";margin:0}

/* ── 2. 버튼 · 공통 요소 ────────────────────────────────── */
.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;border:1px solid var(--navy);background:var(--navy);color:#fff;padding:0 22px;font-size:15px;font-weight:700;cursor:pointer;text-align:center}
.cm-btn:hover{background:var(--navy-dark)}
.cm-btn span{font-weight:400;font-size:16px}
.cm-btn-ghost{background:#fff;color:var(--navy)}
.cm-btn-ghost:hover{background:var(--soft-blue)}
.cm-btn:disabled{background:var(--soft);border-color:var(--line-strong);color:#566176;cursor:default}
.cm-link{display:inline-block;font-size:13.5px;font-weight:700;color:var(--navy);border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.cm-link:hover{border-bottom-color:var(--navy)}
.cm-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0 0}
.cm-note{font-size:11.5px;color:var(--muted);line-height:1.6;margin:12px 0 0}
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

/* ── 3. 신뢰 블록 (건물주가 하던 일 → 커넥스가 하는 일) ────── */
.cm-trust{padding:40px 0 44px;border-bottom:1px solid var(--line)}
.cm-trust-head{max-width:660px;margin:0 0 26px}
.cm-trust-head h2{font-size:22px;line-height:1.45;color:var(--navy);letter-spacing:-.025em;margin:0 0 12px}
.cm-trust-head p{margin:0;font-size:14px;color:#4a5468;line-height:1.7}
.cm-trust-line{font-size:16px;font-weight:700;color:var(--ink);border-left:2px solid var(--navy);padding-left:14px;margin:0 0 26px;line-height:1.6}
.cm-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border-top:2px solid var(--navy)}
.cm-trust-col h3{font-size:12.5px;color:var(--navy);margin:0;padding:12px 0 2px;letter-spacing:0}
.cm-trust-col li{position:relative;font-size:13.5px;color:#4a5468;padding:8px 0 8px 16px;border-bottom:1px solid var(--line);line-height:1.55}
.cm-trust-col li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:1.5px;background:var(--navy)}

/* ── 4. 단계(step) 골격 ─────────────────────────────────── */
.cm-step{padding:42px 0;border-bottom:1px solid var(--line)}
.cm-step-head{border-bottom:2px solid var(--navy);padding-bottom:11px;margin-bottom:22px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cm-step-head h2{font-size:22px;color:var(--navy);letter-spacing:-.025em;line-height:1.4}
.cm-step-num{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.cm-step-note{font-size:13.5px;color:#566176;margin:0 0 20px;line-height:1.65}
.cm-field{padding:0 0 20px}
.cm-field-label{display:block;font-size:13.5px;font-weight:700;color:var(--ink);margin:0 0 9px}
.cm-field-label em{font-style:normal;color:var(--muted);font-size:11px;margin-left:5px;font-weight:400}

/* ── 5. 건물 확인 ───────────────────────────────────────── */
.cm-confirm{margin-top:16px;border:1px solid var(--line-strong);border-top:2px solid var(--navy);background:#fff;padding:16px 15px}
.cm-confirm h3{font-size:16px;color:var(--navy);margin:0 0 4px;line-height:1.5}
.cm-confirm p{margin:0;font-size:12.5px;color:#566176;line-height:1.6}
.cm-confirm .cm-actions{margin:16px 0 0}

/* ── 6. 연락처 · 동의 ───────────────────────────────────── */
.cm-consent{display:flex;align-items:flex-start;gap:9px;margin:20px 0 0;padding:0;color:#4a5468;font-size:13.5px;font-weight:700;line-height:1.55;cursor:pointer}
.cm-consent input{margin-top:2px;width:16px;height:16px;flex:0 0 auto;accent-color:var(--navy)}
.cm-marketing{display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;color:#566176;font-size:13px;font-weight:400;line-height:1.55;cursor:pointer}
.cm-marketing input{margin-top:2px;width:16px;height:16px;flex:0 0 auto;accent-color:var(--navy)}
.cm-marketing em{font-style:normal;color:var(--muted);font-size:11px;margin-left:3px}
.cm-privacy{border:1px solid var(--line);background:var(--soft);padding:14px 15px;margin:14px 0 0}
.cm-privacy h4{font-size:12px;color:var(--navy);margin:0 0 8px;letter-spacing:0}
.cm-privacy li{position:relative;padding:0 0 0 14px;margin-bottom:5px;font-size:12px;color:#4a5468;line-height:1.6}
.cm-privacy li:last-child{margin-bottom:0}
.cm-privacy li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:1.5px;background:var(--line-strong)}
.cm-privacy strong{color:var(--ink);font-weight:700}

/* ── 7. 결과: 시뮬레이션 ─────────────────────────────────── */
.cm-result{padding:0 0 44px;background:#fff}
.cm-result-hero{background:var(--soft-blue);border-bottom:1px solid var(--line);padding:30px 0 32px}
.cm-result-hero::before{content:"";display:block;width:52px;height:2px;background:var(--navy);margin-bottom:16px}
.cm-result-kicker{font-size:11.5px;font-weight:700;color:#566176;margin:0 0 8px;letter-spacing:.02em}
.cm-result-hero h2{font-size:clamp(21px,2.9vw,28px);line-height:1.4;color:var(--navy);letter-spacing:-.025em;margin:0 0 12px;max-width:22em}
.cm-result-hero p{margin:0;font-size:13px;color:#4a5468;line-height:1.65;max-width:620px}
.cm-section{padding:38px 0;border-bottom:1px solid var(--line)}
.cm-section-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.cm-section-head h3{font-size:18px;color:var(--navy);letter-spacing:-.02em;line-height:1.45}
.cm-section-head p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6;flex:1 1 260px}
.cm-section-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em}

/* 방문 예정 카드 */
.cm-visit{border-top:2px solid var(--navy);border-bottom:1px solid var(--line);padding:16px 0 18px}
.cm-visit-row{display:grid;grid-template-columns:126px 1fr;gap:8px 20px;padding:7px 0;align-items:baseline}
.cm-visit-row dt{font-size:12px;color:var(--muted);font-weight:700}
.cm-visit-row dd{margin:0;font-size:14.5px;color:var(--ink);font-weight:700;line-height:1.55}
.cm-visit-row dd small{display:block;font-size:12.5px;font-weight:400;color:#566176;margin-top:3px;line-height:1.6}

/* 체크리스트 */
.cm-check{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;border-top:1px solid var(--line-strong)}
.cm-check-group h4{font-size:12.5px;color:var(--navy);padding:12px 0 2px;margin:0;letter-spacing:0}
.cm-check-group{border-bottom:1px solid var(--line)}
.cm-check-group ul{margin:0}
.cm-check-group li{position:relative;font-size:13.5px;color:#4a5468;padding:7px 0 7px 18px;border-top:1px solid var(--line);line-height:1.55}
.cm-check-group li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:1.5px;background:var(--navy)}
.cm-check-group li small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}

/* 이슈 예시 */
.cm-issue{border:1px solid var(--line);border-left:2px solid var(--navy);padding:16px 15px;background:var(--soft)}
.cm-issue h4{font-size:15px;color:var(--ink);margin:0 0 10px;line-height:1.5}
.cm-issue dl{margin:0}
.cm-issue div{display:grid;grid-template-columns:88px 1fr;gap:6px 16px;padding:7px 0;border-top:1px solid var(--line);align-items:baseline}
.cm-issue dt{font-size:11.5px;color:#566176;font-weight:700}
.cm-issue dd{margin:0;font-size:13.5px;color:#4a5468;line-height:1.6}

/* 진행 절차 */
.cm-process{border-top:2px solid var(--navy);padding-top:6px}
.cm-process li{position:relative;padding:0 0 16px 30px;border-left:1px solid var(--line-strong);margin-left:9px}
.cm-process li:last-child{padding-bottom:0;border-left-color:transparent}
.cm-process li::before{content:attr(data-num);position:absolute;left:-9px;top:0;width:19px;height:19px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;line-height:19px;text-align:center}
.cm-process strong{display:block;font-size:14px;color:var(--navy);line-height:1.5}
.cm-process span{display:block;font-size:12.5px;color:#4a5468;line-height:1.6;margin-top:2px}

/* 건물주 결정 카드 */
.cm-approval{border:1px solid var(--line-strong);background:#fff}
.cm-approval-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:baseline;padding:14px 15px;border-bottom:1px solid var(--line)}
.cm-approval-top h4{font-size:15px;color:var(--ink);margin:0;line-height:1.5}
.cm-approval-state{font-size:11.5px;font-weight:700;color:var(--navy);border:1px solid var(--line-strong);padding:3px 8px}
.cm-approval-facts{display:grid;grid-template-columns:repeat(3,1fr)}
.cm-approval-facts.facts-2{grid-template-columns:repeat(2,1fr)}
.cm-approval-facts div{padding:11px 15px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.cm-approval-facts div:last-child{border-right:0}
.cm-approval-facts span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.cm-approval-facts strong{font-size:13.5px;font-weight:700;color:var(--ink)}
.cm-approval-actions{display:flex;gap:10px;flex-wrap:wrap;padding:14px 15px;align-items:center}
.cm-approval-actions .cm-btn{min-height:44px;font-size:14px}
.cm-approval-result{padding:0 15px 14px;font-size:12.5px;color:#4a5468;line-height:1.6}

/* Before / After */
.cm-compare{border-top:2px solid var(--navy)}
.cm-compare-row{display:grid;grid-template-columns:96px 1fr;gap:6px 18px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.cm-compare-row dt{font-size:12px;color:var(--muted);font-weight:700}
.cm-compare-row dd{margin:0;font-size:14px;color:#4a5468;line-height:1.65}
.cm-compare-row strong{color:var(--ink)}
.cm-pull{font-size:19px;line-height:1.5;font-weight:700;color:var(--navy);border-left:2px solid var(--navy);padding-left:15px;margin:24px 0 0}

/* 관리 화면 예시 */
.cm-dash{border:1px solid var(--line)}
.cm-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.cm-dash-stats div{padding:14px 15px;border-right:1px solid var(--line)}
.cm-dash-stats div:last-child{border-right:0}
.cm-dash-stats span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.cm-dash-stats strong{font-size:20px;color:var(--navy);font-weight:700;letter-spacing:-.02em;line-height:1.3}
.cm-dash-stats strong small{font-size:11.5px;color:var(--muted);font-weight:400;letter-spacing:0}
.cm-dash-list li{display:grid;grid-template-columns:78px 1fr auto;gap:6px 14px;padding:11px 15px;border-bottom:1px solid var(--line);align-items:baseline;font-size:13px;color:#4a5468}
.cm-dash-list li:last-child{border-bottom:0}
.cm-dash-list time{font-size:11.5px;color:var(--muted)}
.cm-dash-list b{font-weight:700;color:var(--ink)}
.cm-dash-list em{font-style:normal;font-size:11px;font-weight:700;color:var(--navy);white-space:nowrap}

/* 가치 4카드 */
.cm-value{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;border-top:1px solid var(--line-strong)}
.cm-value li{padding:16px 0 15px;border-bottom:1px solid var(--line)}
.cm-value h4{font-size:15px;color:var(--navy);margin:0 0 6px;line-height:1.5;letter-spacing:-.02em}
.cm-value p{margin:0;font-size:13px;color:#4a5468;line-height:1.65}

/* 예상 관리비 */
.cm-price{border-top:2px solid var(--navy);padding-top:18px}
.cm-price-figure{font-size:clamp(24px,3.4vw,32px);font-weight:700;color:var(--navy);letter-spacing:-.03em;line-height:1.3;margin:0 0 8px}
.cm-price-figure small{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}
.cm-price-copy{font-size:14.5px;color:#4a5468;line-height:1.7;margin:0 0 14px;max-width:620px}
.cm-price-basis{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;border-top:1px solid var(--line);padding-top:12px}
.cm-price-basis div{font-size:12px;color:#4a5468;line-height:1.6}
.cm-price-basis span{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
.cm-price-basis strong{font-weight:700;color:var(--ink)}

/* ── 8. 마지막 연락처 CTA ───────────────────────────────── */
.cm-final{padding:40px 0 52px;border-bottom:1px solid var(--line)}
.cm-final h2{font-size:22px;color:var(--navy);letter-spacing:-.025em;margin:0 0 10px;line-height:1.45}
.cm-final>p{font-size:14px;color:#4a5468;margin:0 0 22px;max-width:600px;line-height:1.7}
.cm-final-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 44px;border-top:2px solid var(--navy)}
.cm-final-item{padding:16px 0 18px;border-bottom:1px solid var(--line)}
.cm-final-item h3{font-size:12.5px;color:var(--navy);margin:0 0 6px;letter-spacing:0}
.cm-final-item p{margin:0 0 12px;font-size:12.5px;color:#566176;line-height:1.6}
.cm-final-item .cm-btn{width:100%}
.cm-final-number{display:block;font-size:21px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:10px}

/* ── 9. 모바일 고정 CTA ────────────────────────────────── */
.cm-sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line-strong);padding:9px 14px calc(9px + env(safe-area-inset-bottom))}
.cm-sticky .cm-btn{width:100%}
.cm-sticky-note{font-size:11px;color:var(--muted);margin:6px 0 0;text-align:center}
/* 고정 CTA는 모바일 전용(≤700px). 화면이 넓으면 마지막 CTA 섹션이 이미 보인다. */
@media(min-width:701px){.cm-sticky{display:none!important}}

/* ── 10. 반응형 (styles.css 와 같은 경계: 1000 / 700 / 480) ── */
@media(max-width:1000px){
 .cm-process{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
 .cm-process li{border-left:0;margin-left:0;padding:0 0 18px 30px}
 .cm-process li::before{left:0}
 .cm-check,.cm-value{gap:0 28px}
 .cm-price-basis{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .cm-hero{padding:34px 0 36px}
 .cm-hero h1{font-size:25px;line-height:1.45}
 .cm-trust-grid{grid-template-columns:1fr;gap:0}
 .cm-trust-col+.cm-trust-col{margin-top:16px}
 .cm-step{padding:34px 0}
 .cm-visit-row,.cm-compare-row{grid-template-columns:1fr;gap:2px}
 .cm-compare-row dd{font-size:13.5px}
 .cm-process{grid-template-columns:1fr;gap:0}
 .cm-check{grid-template-columns:1fr;gap:0}
 .cm-approval-facts{grid-template-columns:1fr}
 .cm-approval-facts div{border-right:0}
 .cm-dash-stats{grid-template-columns:1fr 1fr}
 .cm-dash-stats div:nth-child(2){border-right:0}
 .cm-dash-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .cm-dash-list li{grid-template-columns:1fr auto;gap:2px 12px}
 .cm-dash-list time{grid-column:1/3;order:3}
 .cm-value{grid-template-columns:1fr;gap:0}
 .cm-final-grid{grid-template-columns:1fr;gap:0}
 .cm-pull{font-size:17px}
}
@media(max-width:480px){
 .cm-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .cm-btn{width:100%}
 .cm-issue div{grid-template-columns:1fr;gap:1px}
 .cm-price-basis{grid-template-columns:1fr;gap:0}
 .cm-price-basis div{padding:7px 0;border-bottom:1px solid var(--line)}
 .cm-dash-stats{grid-template-columns:1fr}
 .cm-dash-stats div{border-right:0;border-bottom:1px solid var(--line)}
 .cm-dash-stats div:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *{transition:none!important;animation:none!important}
}
