/* ============================================================
   tokens.css — 카카오옐로우 디자인 시스템 정본 v2 · A항 토큰
   D:\수한 에이전트\일수 홈페이지 배포\대구일수업체\닷홈\디자인시스템_정본_v2.md §A
   전 사이트 :root 에 그대로 붙여 쓴다. 값을 사이트마다 바꾸지 않는다.
   ============================================================ */
:root{
  /* 색 */
  --ds-primary:#F5D2DF;   /* 카카오 노랑 — 버튼·포인트 전용. 보라 계열 금지 */
  --ds-ink:#191919;       /* 기본 글자 / 노랑 위 글자 */
  --ds-ink2:#2E2E2E;      /* 보조 글자 */
  --ds-off:#F6F5F1;       /* 섹션 교대 배경(오프화이트) */
  --ds-line:#ECECEC;      /* 옅은 경계선 */
  --ds-grey:#6b6b6b;      /* 설명·서브타이틀 */
  --ds-white:#FFFFFF;

  /* 헤더 전용(다크 네이비 — eundev dg5head2 고정 배색). ★상단 띠(유틸 바)는 만들지
     않는다(§23 2026-09-12 2차 확정) — eundev 실물은 <body> 직후 바로 header 뿐이다 */
  --ds-header-bg:#421B36;
  --ds-header-line:#421B36;
  --ds-header-fg:#F2F2F2;

  /* 법정고지·형제링크 전용(다크 네이비 박스 — il-legal-fix 고정 배색) */
  --ds-legal-bg:#421B36;
  --ds-legal-fg:#ECECEC;
  --ds-legal-warn:#FFD4D4;

  /* 치수 */
  --ds-max:1280px;          /* 바깥 컨테이너(container-full 안 여백 기준) */
  --ds-content:1200px;      /* §C-1: 모든 섹션 내용 컨테이너 폭 — 이 값 하나만 쓴다
                               (2026-09-12 사장님 「섹션 요소들의 가로사이즈를 1200px 로 통일해보자」) */
  --ds-doc:720px;            /* §C-4: **하위 페이지 콘텐츠 폭** — 본문·FAQ·형제 띠까지 이 폭
                               (2026-09-12 사장님 「하위페이지는 PC 기준 가로 720px · FAQ 섹션까지 포함 · 규칙을 그렇게 잡자」.
                                1200 이면 글줄이 1,150px 로 흘러 넓어 보인다 — 실측) */
  --ds-gutter-pc:40px;
  --ds-gutter-mo:12px;   /* 2026-09-12 사장님 「좌우 여백은 일관성 있게, 좌 12px 우 12px」 */
  /* ★컨테이너가 실제로 쓰는 여백은 이 하나다 — 미디어쿼리로 값만 갈아 끼운다.
     (2026-09-12) 컨테이너마다 PC 규칙·모바일 규칙을 따로 쓰면 **파일 안 순서**로 승패가
     갈린다 — 실측: 법정고지의 모바일 규칙이 PC 규칙보다 앞에 있어 져서, 모바일 여백만
     40px(나머지 20px)로 남았다. 변수 하나면 순서와 무관하다. */
  --ds-gutter:var(--ds-gutter-pc);
  --ds-radius:14px;
  --ds-sec-y-pc:96px;        /* §C-2: 섹션 상하 padding(PC) — top=bottom */
  --ds-sec-y-mo:48px;        /* §C-2: 섹션 상하 padding(모바일) — top=bottom */
  --ds-hero-h-pc:1080px;     /* §C-5 / B-히어로: PC 히어로 고정 높이 */

  /* 글꼴 */
  --ds-font:'Pretendard Variable', Pretendard, 'Malgun Gothic', sans-serif;
}

/* jsdelivr dynamic-subset — 각 페이지 <head> 에 이 두 줄을 넣는다(토큰 파일이 대신 로드하지 않는다) :
   <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
   <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css">
*/

html,body{font-family:var(--ds-font)}
h1,h2,h3{word-break:keep-all}
h1{font-weight:800}
h2{font-weight:800}
h3{font-weight:700}
p,li,dd,dt,figcaption{word-break:keep-all}

/* §C-7 FAQ 아코디언(details/summary 표준 HTML — 스크립트 불필요, name 속성으로 하나만 열림) */
details.il-faq-item{border:1px solid var(--ds-line);border-radius:var(--ds-radius);overflow:hidden}
details.il-faq-item summary{cursor:pointer;list-style:none}
details.il-faq-item summary::-webkit-details-marker{display:none}

@media(max-width:768px){
  :root{--ds-gutter:var(--ds-gutter-mo)}
}

/* ★제목-줄균형-0912 */
/* h2·h3 가 두 줄로 접히면 **두 줄 글자수를 맞춘다** (2026-09-12 사장님 「모바일에서 보더라도
   줄바꿈과 두 줄의 글자수가 최대한 자연스러우면 · 규칙에 적용」). 실측: 390 에서
   「대구일수, 카카오 대구일수가 이렇게 / 안내해요」 — 둘째 줄이 4자 고아줄.
   text-wrap:balance 가 브라우저에서 줄 길이를 고르게 나눈다(크롬 114+ · 미지원이면 그대로).
   낱말 가운데는 안 끊는다(keep-all). 검사는 `시각검수.py` ⑥ 이 390 렌더에서 줄 수·줄 글자수 차를 잰다. */
h1,h2,h3,.sgw-head h2,.cta-title,.sgw-vs-card h3{word-break:keep-all;text-wrap:balance}
.sgw-head p,.cta-desc{word-break:keep-all;text-wrap:pretty}

/* ============================================================
   ★섹션 감싸개는 계산식 하나만 쓴다 (2026-09-12 사장님 확정)
   「1200px이든 1440px이든, PC에서 봤을 때 섹션들의 요소들이 가로폭 동일하게 내려가야 함」
   「모바일에서도 좌우 여백은 동일하게 내려가야 함」
   width:min(폭, 100% - 여백*2) + margin-inline:auto  ← 이 꼴 하나
   `max-width + padding` 꼴을 섞지 마라 — rect.width 가 화면 폭까지 차서 **좁은 PC 폭에서만**
   그 섹션이 넓어 보인다(2026-09-12 실측: 1100·1024 에서 법정고지만 1100·1024, 나머지는 1020·944).
   ============================================================ */
/* ============================================================
   chrome.css — 공통 껍데기 CSS (헤더·상단 띠·CTA·플로팅·푸터·법정고지)
   header.html·cta.html·float.html·footer.html·legal.html 과 짝이다.
   eundev.dothome.co.kr FTP index.html 에 누적된 패치(dg5head2·dg-float-kakao·
   il-legal-fix 등)를 최종 적용 상태 하나로 정리했다 — 패치 과정이 아니라 결과값.
   tokens.css 를 먼저 불러온 뒤에 이 파일을 붙인다.
   ============================================================ */

/* ---- 바깥 컨테이너(이미 프레임워크에 있으면 이 정의는 덮어써지지 않게 최소값만) ---- */
.container-full{width:min(var(--ds-max), 100% - var(--ds-gutter)*2);margin-inline:auto;box-sizing:border-box}
.container{width:min(var(--ds-content), 100% - var(--ds-gutter)*2);margin-inline:auto;box-sizing:border-box}
/* ============================================================
   헤더 — 다크 네이비 + 카카오 노랑(정본 배색, dg5head2 고정)
   ★상단 띠(유틸 바)는 만들지 않는다(정본 v2 §23 2차 확정 2026-09-12) — eundev 실물은
   <body> 직후 바로 header.th-layout-header 뿐이다. header.html 에 띠를 넣지 않는다.
   ============================================================ */
.il-site-header,.th-layout-header .il-site-header{background:var(--ds-header-bg);border-bottom:1px solid var(--ds-header-line)}
.header-container{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.header-left,.header-title{flex:0 0 auto;min-width:0;white-space:nowrap}
.header-title a{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none}
.logo-text{color:var(--ds-primary);font-weight:800;font-size:18px;white-space:nowrap;display:inline-block}
.header-center{flex:1 1 auto;min-width:0;display:flex;justify-content:center} /* overflow:hidden 은 드롭다운을 가린다 — 2026-09-12 cf10-8 실측으로 뺌 */
.header-gnb{min-width:0}
.header-gnblist{display:flex;align-items:center;gap:44px;list-style:none;margin:0;padding:0;flex-wrap:nowrap} /* 44 — 2026-09-12 사장님 「허브메뉴 좌우 폭 여유」(§G-4) · 1365↓ 28 */
.header-gnbitem{position:relative}
.header-gnblink{color:var(--ds-header-fg);text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap}
.header-gnbitem.has-dropdown:hover .dropdown-menu{display:block}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--ds-header-bg);border:1px solid var(--ds-header-line);border-radius:10px;padding:8px;margin:8px 0 0;list-style:none;min-width:168px;z-index:40}
.dropdown-menu li a{display:block;padding:8px 12px;color:var(--ds-header-fg);font-size:14px;text-decoration:none;border-radius:6px;white-space:nowrap}
.dropdown-menu li a:hover{background:rgba(245,210,223,.12);color:var(--ds-primary)}
.header-right{flex:0 0 auto;display:flex;align-items:center;gap:14px}
.btn-header-cta{background:var(--ds-primary);color:var(--ds-ink);font-weight:800;font-size:15px;border:1px solid var(--ds-primary);border-radius:999px;padding:10px 18px;text-decoration:none;white-space:nowrap}
.btn-momenu{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:6px;cursor:pointer}
.ico-hamburger{display:block;width:22px;height:2px;background:var(--ds-primary);border-radius:2px}
@media(max-width:1365px){
  .header-container{padding-left:20px;padding-right:20px;gap:12px}
  .header-gnblist{gap:28px}
  .header-gnblink{font-size:14px}
  .btn-header-cta{padding:9px 14px;font-size:14px}
}
@media(max-width:900px){
  .header-center{display:none}
  .btn-header-cta{display:none}                /* §B 모바일: 전화 버튼 없음 */
  .btn-momenu{display:flex}
}

/* 모바일 풀메뉴(아코디언) */
.header-fullmenu{position:fixed;top:0;right:-100%;width:min(86vw,360px);height:100%;background:var(--ds-header-bg);z-index:10000;transition:right .28s ease;overflow-y:auto}
.header-fullmenu.active{right:0}
.fullmenu-wrapper{padding:20px}
.fullmenu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.fullmenu-title a{display:inline-flex;align-items:center;color:var(--ds-header-fg);text-decoration:none}
.fullmenu-gnblist{list-style:none;margin:0;padding:0}
.fullmenu-gnbitem{border-bottom:1px solid var(--ds-header-line)}
.fullmenu-gnblink{display:block;padding:14px 4px;color:var(--ds-header-fg);text-decoration:none;font-size:15px;font-weight:700}
.fullmenu-close{position:absolute;top:18px;right:18px;background:none;border:0;color:var(--ds-header-fg);font-size:26px;line-height:1;cursor:pointer}
.header-overlay{position:fixed;inset:0;background:rgba(11,18,38,.55);z-index:9999;opacity:0;pointer-events:none;transition:opacity .25s}
.header-overlay.active{opacity:1;pointer-events:auto}
/* GNB 하위메뉴 → 모바일 아코디언(kk-group) */
.fullmenu-gnblist .kk-group{display:flex;flex-wrap:wrap;align-items:center}
.fullmenu-gnblist .kk-group > .fullmenu-gnblink{flex:1 1 auto}
.fullmenu-gnblist .kk-arrow{flex:0 0 auto;background:none;border:0;color:var(--ds-primary);font-size:20px;line-height:1;padding:10px 10px;cursor:pointer;transition:transform .2s}
.fullmenu-gnblist .kk-group.open .kk-arrow{transform:rotate(180deg)}
.fullmenu-gnblist .kk-sub{display:none;width:100%;margin:0;padding:0 0 6px 14px;list-style:none}
.fullmenu-gnblist .kk-group.open .kk-sub{display:block}
.fullmenu-gnblist .kk-sub li a{display:block;padding:9px 0;font-size:14px;color:var(--ds-header-fg);opacity:.88;text-decoration:none}

/* ============================================================
   CTA — 중간/하단(§B "이미지형": 좌 문안·버튼 / 우 1:1 이미지)
   cta.html 은 바이트 그대로(문구·라벨·href 고정) — 배포 관문 canon_gate 대조 대상.
   라벨 3종: PC「010-2252-8599 →」· 모바일「전화 상담하기 →」「문자 상담하기 →」
   (각각 별도 <a> — 한 버튼 안에 두 span 을 넣지 않는다. CTA_A 라벨 추출기가
   버튼 하나의 텍스트를 통째로 읽어서, span 토글을 쓰면 두 라벨이 섞여 버린다)
   ============================================================ */
/* ── 중간 CTA (2026-09-12 사장님 「저런 형태는 보기 불편해 · 배경색을 깔고 텍스트 + 버튼으로만」)
   하단 CTA(.cta-section)는 카카오옐로우 이미지형 그대로 두고, 본문 사이에 넣는 중간 CTA 만
   이미지 없이 **배경 띠 + 글 + 버튼**으로 낸다. 부품 파일은 cta_mid.html.
   ★두 CTA 가 연달아 서지 않는다(중간은 본문 섹션 사이 · 하단은 푸터 위 하나). */
.cta-mid{padding:var(--ds-sec-y-pc) 0;margin-top:0;background:var(--ds-ink)}
.cta-mid-in{width:min(var(--ds-content), 100% - var(--ds-gutter)*2);margin-inline:auto;box-sizing:border-box;text-align:center}
.cta-mid-title{font-size:32px;font-weight:800;margin:0 0 12px;color:#fff;text-align:center;word-break:keep-all}
.cta-mid-desc{font-size:16px;margin:0;color:#D8D8D8;text-align:center;word-break:keep-all}
.cta-mid .il-cta-btns{margin-top:26px}

/* ── 하단 CTA = eundev **라이브** 그대로 (2026-09-12 사장님 「하단 CTA섹션은 10개 모두
   https://eundev.dothome.co.kr/ 의 이미지와 형태를 사용 · 텍스트만 좀 달라지면 될 듯」).
   ★처음 킷은 eundev **로컬 FTP**(미배포 수정본 · 사람 사진형)를 정본으로 잡아 틀렸다 —
   사장님이 보시는 것은 라이브다. 라이브 = 노란 그라데이션 띠 · 제목·설명 가운데 ·
   전화·문자 **카드 이미지 두 장**(cta-call.png · cta-sms.png 600×250 · 킷에 받아 둠 →
   각 사이트 FTP/images/ 로 복사해 자기 도메인에서 서빙). h2·설명만 사이트별로 글자수 맞춰 다르게. */
.cta-section{padding:var(--ds-sec-y-pc) 0;margin-top:0;text-align:center;
  background:linear-gradient(180deg,var(--ds-primary) 0%,var(--ds-primary) 50%,#ECECEC 100%);color:var(--ds-ink)}
.cta-container{width:min(var(--ds-content), 100% - var(--ds-gutter)*2);margin-inline:auto;box-sizing:border-box;text-align:center}
/* 옛 사람사진형 규칙 `.cta-section .cta-container(display:flex)` 가 남아 제목·설명이 가로로 섰다(9-12 실측) — 구체도 맞춰 세로로 */
.cta-section .cta-container{display:block;gap:0}
.cta-section .cta-title{font-size:32px;margin:0 0 12px}
.cta-section .cta-desc{font-size:18px;margin:0}
.cta-title{font-size:32px;font-weight:800;margin:0 0 12px;text-align:center;color:var(--ds-ink)}
.cta-desc{font-size:18px;color:var(--ds-ink);margin:0;text-align:center;word-break:keep-all}
.ctaimg-btns{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:26px}
.ctaimg-btns a{display:block;line-height:0;transition:transform .18s ease}
.ctaimg-btns a:hover{transform:translateY(-3px)}
.ctaimg-btns img{width:380px;max-width:92vw;height:auto;display:block}
/* 중간 CTA·히어로가 쓰는 알약 버튼(하단 CTA 는 이제 이미지 버튼이라 안 쓴다) */
.il-cta-btns{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:26px}
.il-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-width:240px;height:56px;padding:0 28px;border-radius:999px;background:var(--ds-primary);color:var(--ds-ink);font-weight:800;font-size:16px;text-decoration:none;box-sizing:border-box}
a.il-cta-btn-mo[href^="sms:"]{background:var(--ds-white);border:2px solid var(--ds-primary)} /* :nth-of-type(2) 는 형제 a 중 2번째 = 모바일 tel 버튼을 물어 두 버튼이 다 흰 바탕이 됐다 — 2026-09-12 dh-ilsudaechul 실측으로 뺌 */
.cta-imgbox{flex:0 0 280px;width:280px;aspect-ratio:1/1;border-radius:var(--ds-radius);overflow:hidden}
.cta-imgbox img{width:100%;height:100%;object-fit:cover;display:block}
.il-cta-btn-mo{display:none}
@media(max-width:768px){
  .cta-section{padding:var(--ds-sec-y-mo) 0}
  .cta-title{font-size:26px}
  .cta-desc{font-size:16px}
  .ctaimg-btns{flex-direction:column;gap:12px}
  .cta-mid{padding:var(--ds-sec-y-mo) 0}
  .cta-mid-title{font-size:24px}
  .il-cta-btn-pc{display:none}
  .il-cta-btn-mo{display:inline-flex}
  .cta-imgbox{flex:0 0 auto;width:min(70vw,280px)}
}

/* ============================================================
   플로팅 — ★정본 배색: 노란 알약 · **먹색 아이콘 원** · 노란 아이콘선
   (2026-09-12 사장님 「플로팅 배너에서 아이콘이 안 보이는 문제 해결 · 모든 페이지 다 수정」)
   라이브 1번 실측 — 알약 흰색 · 원 노랑 · 선 노랑 = **노란 원에 노란 선이라 아이콘이 묻혔다**.
   배색 두 벌(사이트 폴더의 가짜 `_플로팅정본.css` + 이 킷)이 섞여 원만 뒤집힌 것이 원인.
   그래서 여기서 **원 배경과 선 색을 짝으로** 못 박고, 어느 쪽을 쓰든 대비가 나게 한다:
   먹색 원이면 노란 선 · 노란 원이면 먹색 선. 둘 중 하나만 바뀌면 안 보인다.
   ★대비 검수는 `디자인시스템_검사.py --플로팅` 이 렌더로 잰다(원 배경 vs 선 색 ΔRGB).
   ★플로팅은 **모든 템플릿 공통**이다(사장님) — 사이트마다 다시 칠하지 않는다.
   ============================================================ */
.fm2-float{position:fixed;right:28px;bottom:32px;z-index:99999;display:flex;flex-direction:column;gap:12px;font-family:var(--ds-font)}
.fm2-float a{display:flex;align-items:center;gap:13px;background:var(--ds-primary);color:var(--ds-ink);border:1px solid var(--ds-ink);border-radius:999px;padding:13px 26px 13px 15px;box-shadow:0 4px 14px rgba(0,0,0,.18);font-size:15px;font-weight:800;text-decoration:none;line-height:1.25;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.fm2-float a:hover{transform:translateX(-5px) scale(1.03)}
.fm2-float .fm2-ic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--ds-ink);color:var(--ds-primary)}
.fm2-float .fm2-ic svg{width:24px;height:24px;display:block;stroke:var(--ds-primary);fill:none}
/* 텍스트 — ★PC·모바일 모두 「말 / 번호」 두 줄로 같게 보인다
   (2026-09-12 사장님 「모바일에서도 PC처럼 텍스트·전화번호 이렇게 보이게 통일」).
   예전엔 640px 아래에서 .fm2-tx 를 감춰 모바일엔 **동그란 아이콘만** 떴다 — 그 규칙을 뺐다. */
.fm2-tx{white-space:nowrap;letter-spacing:-.02em;color:var(--ds-ink);display:inline-flex;flex-direction:column;line-height:1.15}
.fm2-tx b{display:block;font-weight:800;font-size:12px;opacity:.85}
@media(max-width:768px){
  .fm2-float{right:14px;bottom:18px;gap:10px}
  .fm2-float a{padding:9px 16px 9px 9px;font-size:13px;gap:8px;border-width:1px}
  .fm2-float .fm2-ic{width:34px;height:34px}
  .fm2-float .fm2-ic svg{width:17px;height:17px}
  .fm2-tx b{font-size:11px}
}
@media(max-width:400px){
  .fm2-float a{padding:8px 13px 8px 8px;font-size:12px;gap:7px}
  .fm2-float .fm2-ic{width:30px;height:30px}
  .fm2-float .fm2-ic svg{width:15px;height:15px}
}

/* ============================================================
   푸터
   ============================================================ */
footer.footer{background:#141414;color:#ececec;margin-top:0;padding-top:56px;padding-bottom:48px} /* 저작권 아래 여백 — 2026-09-12 사장님 */
.footer-top{border-bottom:1px solid #2a2a2a;padding-bottom:18px;margin-bottom:28px}
/* ★모달 링크(이메일 무단 수집 거부·개인정보처리방침)는 **좌측 정렬**
   (2026-09-12 사장님 「푸터섹션의 모달 텍스트도 좌측 배열이 낫겠다」) — 오른쪽 끝에 붙으면
   그 줄만 다른 섹션과 시작선이 달라 보인다. 아래 본문 4칸과 같은 왼쪽 선에 선다. */
.footer-links{display:flex;gap:18px;justify-content:flex-start;flex-wrap:wrap}
.footer-links a{color:#aeb5c6;font-size:13px;text-decoration:none}
.footer-links a:hover{color:var(--ds-primary)}
/* 세 단 안내 띠(CONTACT/AREA/HOURS) — 푸터 맨 위 (2026-09-12 사장님 「푸터 섹션 아래에 들어가야 하는 내용」)
   ★법정고지와 겹치는 문구(연 20%·중개수수료)는 여기 넣지 않는다 — 상용구 반복은 SEO 에 불리 */
.footer-cs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 0 28px;margin:0 0 20px;border-bottom:1px solid #2a2a2a;font-size:13.5px;line-height:1.7;color:#c9ced9}
.footer-cs b{display:block;font-size:11px;letter-spacing:.18em;color:var(--ds-primary);margin-bottom:6px}
.footer-cs address{font-style:normal}
.footer-content{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.footer-section h3{color:#ffffff;font-size:16px;margin:0 0 12px}
.footer-section p,.footer-section li{color:#d5d9e4;font-size:13.5px;line-height:1.7}
.footer-hub-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-hub-links a{color:#d5d9e4;text-decoration:none;font-size:13.5px}
.footer-hub-links a:hover{color:var(--ds-primary)}
.footer-bottom{border-top:1px solid #2a2a2a;margin-top:32px;padding:20px 0 0}
.footer-bottom p{color:#8a90a0;font-size:12.5px;margin:0}
@media(max-width:900px){.footer-content{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.footer-content{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}

/* 약관 모달(정본 공용 고정 문안 — footer.html 내 고정) */
.policy-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100000;align-items:center;justify-content:center;padding:24px}
.policy-modal-content{background:#fff;color:#222;max-width:640px;max-height:80vh;overflow-y:auto;border-radius:var(--ds-radius);padding:28px}
.policy-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.policy-modal-close{background:none;border:0;font-size:22px;line-height:1;cursor:pointer}
.policy-modal-body h3{font-size:16px;margin:18px 0 8px}
.policy-modal-body h4{font-size:14px;margin:14px 0 6px}
.policy-modal-body p,.policy-modal-body li{font-size:13.5px;line-height:1.7;color:#333}

/* ============================================================
   법정고지 — 다크 네이비 박스 · dl.il-legal-tbl 2열(dt 140px · dd 한 줄)
   ============================================================ */
.il-legal{background:var(--ds-legal-bg);margin-top:0;padding:48px 0}
.il-legal-in{width:min(var(--ds-content), 100% - var(--ds-gutter)*2);margin-inline:auto;box-sizing:border-box}
.il-ltit{color:#ffffff;font-size:18px;font-weight:800;margin:0 0 18px}
.il-legal-tbl{display:grid;grid-template-columns:140px 1fr;row-gap:10px;column-gap:16px;margin:0}
.il-legal-tbl dt{color:#ffffff;font-size:13.5px;font-weight:700;margin:0}
.il-legal-tbl dd{color:var(--ds-legal-fg);font-size:13.5px;line-height:1.6;margin:0}
.il-warn{color:var(--ds-legal-warn);font-size:12.5px;margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:768px){
  .il-legal-tbl{grid-template-columns:1fr}
  .il-legal-tbl dt{margin-top:6px}
}

/* ★히어로-캡션-숨김 0912 */
/* 히어로 사진의 캡션은 **화면에서 감춘다** (2026-09-12 사장님 「알트텍스트가 삐져나온 것
   같은데, 그러니까 상하 밸런스가 안 맞아 · 다른 페이지도 같은 문제 있을 수 있음」).
   히어로는 왼쪽 글 상자와 오른쪽 사진이 **같은 정사각**이라야 하는데, 사진 밑에 캡션이
   한 줄(실측 23~31px) 붙으면 오른쪽만 길어져 좌우 중심이 어긋난다(하위 27쪽 580x611).
   마크업은 그대로 둔다 — 검색·화면낭독기에는 남는다. 본문 섹션 사진 캡션은 그대로. */
.sgw-hero-card figcaption,.sgw-hero figcaption,.il-hero figcaption,
.sgw-rep.sgw-hero-card figcaption{
  position:absolute !important;width:1px !important;height:1px !important;margin:-1px !important;
  padding:0 !important;overflow:hidden !important;clip-path:inset(50%) !important;
  white-space:nowrap !important;border:0 !important}
.sgw-hero-in,.sgw-hero-inner{align-items:center}

/* ★CTA-하단여백-0912 */
/* 하단 CTA 는 아래 여백을 위보다 조금 더 (2026-09-12 사장님 「h2 의 윗쪽 여백 때문인지 섹션의 위아래가
   시각적으로 상하 정중앙이 아닌 것처럼 보여 · h2 여백만큼 하단 여백을 조금 더」).
   위: 96 + h2 line-height 여분 ≈ 12 · 아래: 카드 그림자에 붙어 보인다 → 아래에 +20px. 모바일 +12px. */
.cta-section{padding-bottom:calc(var(--ds-sec-y-pc) + 20px) !important}
@media(max-width:768px){.cta-section{padding-bottom:calc(var(--ds-sec-y-mo) + 12px) !important}}

/* ★표캡션-모바일-0912 */
/* 표 <caption> 이 모바일에서 폭 12px 로 무너져 글자가 세로로 흘렀다 (2026-09-12 사장님 「모바일에서
   해당 부분이 css 가 깨진다 · 계약 전에 이것만 확인하세요 섹션」). table 이 overflow-x 블록으로
   바뀌면 caption 이 폭을 잃는다 — 폭 100% 블록으로 못 박는다. 검색엔진용 글이라 감추지 않는다. */
table caption,.sgw-tb caption{display:block;width:100%;caption-side:top;text-align:left;
  font-size:13px;color:var(--ds-grey);padding:0 0 8px;white-space:normal;word-break:keep-all}
/* 히어로 체크 3줄 — 390 에서 한 줄(줄당 공백 포함 ≤20자) · 줄바꿈 나면 문안을 줄인다 */
.sgw-hero li{white-space:normal}

/* ★케러셀-모바일-세로-0912 */
/* 모바일 케러셀은 슬라이드가 아니라 **한 줄에 한 장씩 세로로** 전부 보여준다 (2026-09-12 사장님
   「모바일에서는 슬라이드 말고 한 줄에 한 개씩 · 카드뉴스를 이용자들에게 쭉 보여주기 위해서」).
   가로 스크롤은 손을 대야 다음 장이 보이지만 세로 1열은 스크롤만 내리면 12장을 다 본다. */
@media(max-width:768px){
  .sgw-tiles,.k-tiles,.card-rail,.cards-track{display:grid !important;grid-template-columns:1fr !important;gap:16px !important;
    overflow:visible !important;scroll-snap-type:none !important;padding-bottom:0 !important}
  .sgw-tiles > .sgw-tile,.k-tiles > *,.card-rail > *,.cards-track > *{flex:none !important;width:100% !important;scroll-snap-align:none !important}
}

/* ★하위폭-720-0912 */
/* 하위 페이지(구·동·허브)의 **콘텐츠 폭 720** — 본문 · FAQ · 형제 띠까지.
   껍데기(헤더 · 히어로 · 하단 CTA · 법정고지 · 푸터)는 1200 그대로 — 브랜드 축이라 안 좁힌다.
   판정: `body.sub`(빌더가 붙인다) + `body:has(.sgw-doc)` 폴백 둘 다.
   모바일은 손대지 않는다(사장님 「모바일은 문제 없어 보이고」) — min() 이라 자동으로 화면 폭 - 여백. */
body.sub .sgw-doc,body.sub .sgw-faq-in,body.sub .sgw-faq-list,body.sub .sgw-intro-in,body.sub .sgw-sib-in,
body:has(.sgw-doc) .sgw-doc,body:has(.sgw-doc) .sgw-faq-in,body:has(.sgw-doc) .sgw-faq-list,
body:has(.sgw-doc) .sgw-intro-in,body:has(.sgw-doc) .sgw-sib-in{
  width:min(var(--ds-doc), 100% - var(--ds-gutter)*2) !important;max-width:none !important;margin-inline:auto}
@media(max-width:768px){
  /* 모바일은 좌우 여백을 껍데기와 같게 — 720 규칙이 부모 여백 위에 또 빼면 310px(여백 40)이 된다.
     사장님 「모바일은 문제 없어 보이고」 — 350px(여백 20) 그대로. */
  body.sub .sgw-doc,body.sub .sgw-faq-in,body.sub .sgw-faq-list,body.sub .sgw-intro-in,body.sub .sgw-sib-in,
  body:has(.sgw-doc) .sgw-doc,body:has(.sgw-doc) .sgw-faq-in,body:has(.sgw-doc) .sgw-faq-list,
  body:has(.sgw-doc) .sgw-intro-in,body:has(.sgw-doc) .sgw-sib-in{width:100% !important}
}

/* ★드롭다운-마우스틈-0912 */
/* 허브 메뉴 → 드롭다운으로 마우스를 내릴 때 hover 가 끊기던 것 (2026-09-12 사장님 「여백이 있어서
   제대로 이동이 안 되」). 원인: `.dropdown-menu(margin:8px 0 0)` 의 8px 틈에서 :hover 가 풀린다.
   틈의 생김새는 그대로 두고(디자인), **투명 브릿지**로 마우스 경로만 잇는다.
   ★키보드도 같이 — :focus-within 으로 열린다(크롤러는 DOM 에 링크가 있으니 무관). */
.header-gnbitem.has-dropdown{padding-bottom:2px}
.header-gnbitem.has-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;background:transparent}
.header-gnbitem.has-dropdown:hover .dropdown-menu,
.header-gnbitem.has-dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu:hover{display:block}

/* ★하위-머리와이미지-720-0912 */
/* 하위 본문의 **머리(.sgw-head)** 도 콘텐츠 폭 720 안에 둔다 — 감싸개 밖이라 1200 으로 서서
   「대구 서구 일수대출, 구 전체를 이렇게 안내해요」 같은 25자 안팎 머리가 PC 에서 한 줄로 길게 흘렀다
   (2026-09-12 사장님 「PC 에서도 이런 건 두 줄로 가는 게 좋겠네 · 나머지 페이지들도」). 720 이면 두 줄로 접힌다.
   ★본문 그림은 720 **꽉** (사장님 「하위 페이지 메뉴의 이미지들은 가로폭을 720px 로 맞춰줘야지」) —
   앞서 460 으로 좁혔던 조치는 되돌렸다. */
body.sub .sgw-intro .sgw-head,body.sub .sgw-doc .sgw-head,body.sub .sgw-faq .sgw-head,
body:has(.sgw-doc) .sgw-intro .sgw-head,body:has(.sgw-doc) .sgw-doc .sgw-head,body:has(.sgw-doc) .sgw-faq .sgw-head{
  width:min(var(--ds-doc), 100% - var(--ds-gutter)*2);max-width:none;margin-inline:auto}
body.sub .sgw-doc figure,body.sub .sgw-doc img,body.sub .sgw-doc table,
body:has(.sgw-doc) .sgw-doc figure,body:has(.sgw-doc) .sgw-doc img,body:has(.sgw-doc) .sgw-doc table{
  width:100% !important;max-width:100% !important;margin-left:0;margin-right:0}
@media(max-width:768px){
  body.sub .sgw-intro .sgw-head,body.sub .sgw-doc .sgw-head,body.sub .sgw-faq .sgw-head,
  body:has(.sgw-doc) .sgw-intro .sgw-head,body:has(.sgw-doc) .sgw-doc .sgw-head,body:has(.sgw-doc) .sgw-faq .sgw-head{width:100%}
}

/* ★모바일-여백12-표한눈에-0912 */
/* ① 모바일 좌우 여백 12px 로 통일 (2026-09-12 사장님). 토큰 --ds-gutter-mo 가 12 이므로
   min() 을 쓰는 모든 감싸개가 자동으로 따라온다. 하위 본문(.sgw-doc)만 부모에 여백이 없어
   `width:100%` 보정이 화면을 꽉 채웠다(390/좌0) — min() 으로 되돌린다. */
@media(max-width:768px){
  body.sub .sgw-doc,body:has(.sgw-doc) .sgw-doc{
    width:min(var(--ds-doc), 100% - var(--ds-gutter)*2) !important;margin-inline:auto}
  /* ② 표는 모바일에서도 **한눈에** — 세로로 쪼개던 규칙 폐기(사장님 「표는 한눈에 보여도 되니까」).
     머리행을 살리고 글자만 줄여 두 열이 한 화면에 들어가게. 넘치면 그 표만 가로 스크롤. */
  .sgw-tb thead{display:table-header-group !important}
  .sgw-tb{display:table !important;table-layout:fixed;font-size:12.5px;width:100% !important}
  .sgw-tb tbody{display:table-row-group !important}
  .sgw-tb tr{display:table-row !important}
  .sgw-tb th,.sgw-tb td{display:table-cell !important;width:auto !important;padding:8px 9px;
    word-break:keep-all;line-height:1.5;vertical-align:top}
  /* ★고정 레이아웃은 **정해지지 않은 칸을 다시 균등 분배**한다 — 첫 칸만 34% 로 정하면
     3열 표에서 크롬이 남는 둘을 33/33 으로 펴 다시 50:50 처럼 보인다(5번 실측).
     그래서 **남는 칸도 정한다**: 2열 34/66 · 3열 26/37/37. `tbody th` 로 잡으면 머리 행이
     th 둘인 표에서 양쪽에 다 먹어 50:50 이 된다(2번 실측) — `tr>:first-child` 로만 잡는다. */
  .sgw-tb tr>:first-child{width:34% !important}
  .sgw-tb tr>:first-child ~ *{width:66% !important}
  .sgw-tb3 tr>:first-child{width:26% !important}
  .sgw-tb3 tr>:first-child ~ *{width:37% !important}
  table tr>:first-child ~ *{width:auto}
  .sgw-tb tbody th{background:var(--ds-off)}
  .sgw-tb3 tbody th{width:26% !important}
}

/* ★표캡션-맨위-0912 */
/* 표 캡션이 머리행 **아래**로 끼어 들어갔다 — `display:block` 을 주면 표 흐름 안으로 들어간다
   (2026-09-12 사장님 「표가 이상하게 보이고」). `table-caption` + `caption-side:top` 으로 맨 위에.
   앞서 「표캡션-모바일」 블록이 폭 붕괴를 막으려 block 을 준 것이 원인 — 그 규칙을 이것으로 덮는다. */
table caption,.sgw-tb caption{display:table-caption !important;caption-side:top !important;
  width:auto !important;text-align:left;font-size:13px;color:var(--ds-grey);
  padding:0 0 8px;white-space:normal;word-break:keep-all}

/* ★히어로-글-좌측정렬-0913 */
/* 히어로 글은 **왼쪽 선 하나**에 맞춘다 (2026-09-13 사장님 「히어로섹션 위치는 그대로 두되, 텍스트는
   좌측 배열로 · 가운데 배열이 들쭉날쭉해 보여서」). 가운데 정렬이면 체크 세 줄의 왼쪽 끝이 줄마다
   달라져 눈에 어긋나 보인다 — 눈썹·h1·구분선·체크·버튼 묶음이 같은 자리에서 시작한다.
   버튼 **안** 글자만 가운데(알약 꼴이라 그게 맞다). 계열마다 클래스가 달라 꼴로 잡고, 계열 CSS 의
   구체도가 더 높아 `!important` 로 이긴다(먼저 넣은 판이 안 먹어 실측으로 확인 · 메모리 「값이
   이상하면 식보다 누가 이기는지 먼저」). */
[class*="hero"] [class*="-tx"],[class*="hero"] [class*="-content"],
[class*="hero"] [class*="-copy"],[class*="hero"] [class*="-body"]{text-align:left !important}
[class*="hero"] h1,[class*="hero"] h2,[class*="hero"] p,[class*="hero"] ul,[class*="hero"] ol,
[class*="hero"] li,[class*="hero"] dl,[class*="hero"] .eb,[class*="hero"] .en,
[class*="hero"] [class*="eyebrow"],[class*="hero"] [class*="kicker"]{text-align:left !important}
[class*="hero"] ul,[class*="hero"] ol{padding-left:0;list-style:none}
[class*="hero"] li{justify-content:flex-start !important;text-indent:0}
[class*="hero"] [class*="btns"],[class*="hero"] [class*="cta"]{justify-content:flex-start !important}
/* ★버튼-안-가운데-0914 — 위 [class*="cta"] 가 버튼 상자(.il-cta-btns)뿐 아니라 **버튼 자체**(.il-cta-btn · inline-flex)까지 물어
   알약 안 글자가 왼쪽으로 몰렸다(사장님 9-14 「전화번호+화살표가 버튼 안에서 좌우 정중앙이 아니다」 · 8번 실측 텍스트 148~289 / 버튼 120~360). 버튼 안은 가운데 */
[class*="hero"] a[class*="btn"],[class*="hero"] button{justify-content:center !important}
/* ★구분선만은 가운데 (2026-09-13 사장님 「가운데 선 같은 건 위치를 가운데쪽이나 텍스트들의
   가운데쪽으로 잡는 게 좋을 거 같구」) — 글을 왼쪽으로 몰면서 선까지 왼쪽 끝으로 보냈더니
   선 하나만 덩그러니 떨어져 보였다. 글 상자 **안에서 가운데**로 둔다. */
[class*="hero"] [class*="rule"],[class*="hero"] hr{margin-left:auto !important;margin-right:auto !important}
[class*="hero"] a[class*="btn"],[class*="hero"] button{text-align:center !important}
/* 사진은 그대로 — 자리(위치)는 손대지 않는다는 지시대로 */

/* ★히어로 글은 가장자리에서 한 뼘 더 (2026-09-13 사장님 「배열은 좌측으로 하는데 너무 좌측에서
   여백이 없다 요소들이」). 모바일 좌우 여백 12px 은 **섹션 감싸개**의 규칙이고 그대로 둔다 —
   히어로는 배경이 꽉 찬 섹션이라 같은 12px 이라도 글이 화면에 붙어 보인다. 글 상자 **안쪽**에만
   더해 총 24px 로 띄운다(감싸개는 12 그대로라 「모든 블록 같은 여백」 검사에 안 걸린다). */
/* ★「더한다」가 아니라 「최종 값을 못 박는다」 (2026-09-13 fc 실측) — 처음엔 `padding:12px` 를
   **더했는데**, 감싸개가 이미 24 인 계열은 12 가 더해져 **36px** 이 됐다(5번). 계열마다 감싸개
   값이 달라 「더하기」는 값을 못 정한다. 그래서 **글 상자의 왼쪽 끝을 화면에서 24px** 로 못 박는다
   — 감싸개가 12 면 12 를 더하고, 24 면 0 을 더하는 셈이다.
   ★잴 때는 **글자 left(Range)** 로 잰다 — 상자는 24 인데 글자가 36 인 경우를 못 본다. */
@media(max-width:768px){
  [class*="hero"] [class*="-tx"],[class*="hero"] [class*="-content"],
  [class*="hero"] [class*="-copy"],[class*="hero"] [class*="-body"]{
    padding-left:max(0px, 24px - var(--ds-gutter)) !important;
    padding-right:max(0px, 24px - var(--ds-gutter)) !important;
    box-sizing:border-box}
}

/* ★STEP배지-아이콘-간격-0913 */
/* STEP 배지(검정 알약)와 아이콘(노란 원)이 딱 붙어 아이콘이 배지에 올라탄 것처럼 보였다
   (2026-09-13 사장님 「step박스와 아이콘 간격을 모바일에서 좀 더 넓히기」 → 「PC도 그렇긴 하네」).
   `.ds-ico` 는 계열을 가리지 않는 킷 공통 클래스라 한 곳에서 잡힌다. 두 조각이 한 줄에 설 때만
   띄운다 — 세로로 쌓인 계열은 건드리지 않는다. */
[class*="step"] [class*="no"] + .ds-ico,
[class*="step"] .no + [class*="ico"],
[class*="steps"] li > span + .ds-ico{margin-left:12px !important}
@media(max-width:768px){
  [class*="step"] [class*="no"] + .ds-ico,
  [class*="step"] .no + [class*="ico"],
  [class*="steps"] li > span + .ds-ico{margin-left:14px !important}
}

/* ★30초요약-모바일-줄바꿈-0913 */
/* 모바일에서 「누가 — 설명」이 한 줄로 흘러 설명 둘째 줄이 제목 아래로 파고들었다.
   제목을 한 줄, 설명을 다음 줄로 내린다 (2026-09-13 사장님 「누가 / - 설명 / 무엇 / - 설명 …」).
   PC 는 지금 꼴이 좋아 그대로 둔다. */
/* ★`!important` 는 꼭 있어야 한다 (2026-09-13 fc 실측) — 계열 CSS(`.dsn-sum li strong`)가
   킷(`[class*="sum"] li strong`)과 **같은 무게**라 뒤에 오는 쪽이 이긴다. 5번이 그래서
   390 에서 「누가 — 내당·비산…」이 붙어 있었다. 확인은 **줄 글자로** 센다 — 상자 top 으로
   재면 거짓 통과가 난다. */
@media(max-width:768px){
  [class*="sum"] li strong,[class*="sum"] li b,[class*="summary"] li strong{
    display:block !important;margin-bottom:2px}
  [class*="sum"] li,[class*="summary"] li{display:block !important}
}

/* ★헤더-방문링크-색-0913 — 사장님 「헤더섹션의 버튼을 클릭하면 어두운색으로 바뀌어서 안 보여」(2번 8942/dalseonggun).
   원인: 사이트 기본 CSS 의 `a:visited(color:inherit)` 가 (0,1,1)이라 킷 `.header-gnblink(color:var(--ds-header-fg))` (0,1,0)을
   이긴다 — **한 번 누른(방문한) 메뉴만** 부모 글자색(검정)을 물려받아 어두운 헤더에 묻힌다. 누르기 전엔 멀쩡해 검수에서 샜다.
   CF10 1·2·3·5·6·7·9·10 + 닷홈 셋의 site.src.css 에 같은 줄이 있다. 헤더·전체메뉴·드롭다운 링크는 방문 여부와 무관하게 같은 색. */
.header-gnblink:visited,.header-gnblink:focus,.header-gnblink:active,
.fullmenu-gnblink:visited,.fullmenu-gnblink:focus,.fullmenu-gnblink:active,
.fullmenu-gnblist .kk-sub li a:visited{color:var(--ds-header-fg) !important}
.dropdown-menu li a:visited{color:var(--ds-header-fg) !important}
.dropdown-menu li a[aria-current="page"],.dropdown-menu li a:hover{color:var(--ds-primary) !important}
.header-gnbitem:hover > .header-gnblink,.header-gnbitem:focus-within > .header-gnblink{color:var(--ds-primary) !important}

/* ★푸터-한줄-0913 — 푸터를 연락처 · 운영 시간 · 안내 링크 한 줄 + 맨 아래(저작권 · 정책 링크) 한 줄로 (사장님 「난잡하다 · 꼭 저렇게 다 필요한가」).
   옛 마크업이 남은 쪽도 같은 모양이 되게 옛 칸(AREA · 소개 · 확인해 두면 좋은 점)은 숨긴다 — 새 킷으로 다시 지으면 마크업에서도 빠진다. */
.footer .footer-content > .footer-section:not(.footer-section-links){display:none !important}
.footer .footer-top{display:none !important}
.footer .footer-cs .footer-hub-links{gap:6px}
.footer .footer-cs .footer-hub-links a{font-size:13.5px}
.footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px}
.footer .footer-bottom .footer-links{display:flex;gap:16px;margin:0}
.footer .footer-bottom .footer-links a{color:#8a90a0;font-size:12.5px;text-decoration:none}
@media(max-width:768px){.footer .footer-cs{grid-template-columns:1fr !important;gap:18px}.footer .footer-bottom{flex-direction:column;align-items:flex-start}}

/* ★교대색-진하게-0913 — 사장님 「섹션별로 색감 구분은 있어야 할 것 같고 · 모든 템플릿 공통사항」.
   옛 연노랑 #FCF3F6 는 흰색과 밝기 차 2.32 라 「교대를 넣은 자리도 눈에는 같은 색」이었다(eb 실측 42쪽에서 「옅게만 다름」 182건).
   #FCF3F6 는 차 4.27 — 눈에 보이면서 카카오 노랑의 결은 지킨다.
   (정정 밤) 빌드는 킷 다음에 사이트 CSS 를 붙이므로 「뒤에서 덮는다」는 틀렸다 — 사이트에 옛 :root 값이 남으면 그쪽이 이긴다(2f 실측 7·8번).
   그래서 순서가 아니라 무게로 이긴다: html:root 는 :root 보다 한 칸 무겁다. */
html:root{--ds-alt:#FCF3F6}

/* ★하위쪽-CTA·법정고지-폭-0913 — **걷었다(2026-09-13 저녁)**. `body:has([class$="-doc"])` 로 하위 쪽을 가르려 했으나
   index 에도 `*-doc` 감싸개가 있는 계열(9번 `sg-seo-doc` · 6번 `slb-doc-home`)에서 index CTA 까지 720 으로 줄었다(2f 실측).
   킷은 CTA·법정고지를 `--ds-content` 로 두고, **하위 쪽 축소는 사이트 CSS**(그 계열의 하위 표시자)에서 한다. */

/* ★CTA↔법정고지-빈틈-0913 — 둘 사이가 338~397px 로 벌어져 있었다(42쪽 전부). CTA 아래 덧padding 을 걷고 법정고지 위를 줄인다. */
.cta-section{padding-bottom:var(--ds-sec-y-pc) !important}
.il-legal{padding-top:40px}
@media(max-width:768px){.cta-section{padding-bottom:var(--ds-sec-y-mo) !important}.il-legal{padding-top:28px}}

/* ★아이콘-원안-가운데-0913 — 사장님 「섹션 보면 아이콘이 원형 중앙에 위치하지 않는데」(7번 CHECKLIST·HOW IT WORKS·GUIDE).
   `.ds-ico` 는 inline-flex 로 가운데 정렬인데, 안의 `<svg>` 가 inline 이라 글꼴 baseline 만큼 아래·왼쪽으로 밀린다. svg 를 block 으로 놓고 줄높이를 0 으로. */
.ds-ico,[class*="-ico"]:not([class*="float"]){line-height:0}
.ds-ico > svg,[class*="-ico"]:not([class*="float"]) > svg{display:block;margin:0}

/* ★CTA-이미지버튼-가로-0913 — PC 에서 전화·문자 이미지 버튼이 아래위로 쌓였다(7번). 버튼 고정 380px 가 좁아진 CTA 폭(하위 720)에서 줄바꿈된 탓.
   PC 는 한 줄(두 칸), 모바일은 지금처럼 세로. */
@media(min-width:769px){
  .ctaimg-btns{flex-wrap:nowrap}
  .ctaimg-btns img{width:min(380px, calc(50vw - 40px));max-width:100%}
}

/* ★아이콘-원안-가운데-2차-0913 — 1차(svg block)로도 8번 WHO 카드 아이콘이 원 밖으로 나갔다.
   원인은 따로 있었다: 계열 CSS 의 `.sjk-card span(display:block)`(0,1,1)이 `.ds-ico(display:inline-flex)`(0,1,0)를 이겨
   **원 상자가 flex 가 아니게** 되어 가운데 정렬이 통째로 꺼졌다. 카드·타일·단계 상자 안의 아이콘은 제 줄에 서므로
   flex(블록)로 되돌리고 가운데 정렬을 못 박는다 — margin:0 auto 는 블록이어야 먹는다. */
:is([class*="card"],[class*="tile"],[class*="step"],[class*="-item"],[class*="-box"]) > .ds-ico,
:is([class*="card"],[class*="tile"],[class*="step"],[class*="-item"],[class*="-box"]) > span.ds-ico{
  display:flex !important;align-items:center !important;justify-content:center !important}
.ds-ico{align-items:center;justify-content:center}

/* ★하위쪽-머리·꼬리-index와-같게-0913 — 사장님(8번 8948): 「index 는 멀쩡하게 해 놨네」 · 법정고지는 「푸터 CONTACT 의 좌측 라인에」 ·
   하위쪽 CTA 그림 버튼이 PC 에서 위아래로 쌓임 · 「푸터·헤더·CTA 는 하위페이지들도 다 공통으로」.
   오후에 사이트마다 넣은 `body.sub …(width:var(--ds-doc))`(720) 가 원인 — 하위쪽 CTA·법정고지를 index 와 같은 폭으로 되돌린다.
   사이트 규칙이 (0,3,1)·!important 라 html:root body 로 한 칸 더 무겁게. 본문 글 상자(-doc)는 그대로 720. */
html:root body .il-legal .il-legal-in,
html:root body .il-legal-in{width:min(var(--ds-content), 100% - var(--ds-gutter)*2) !important;max-width:none !important;margin-inline:auto !important}
html:root body .cta-section .cta-container{width:min(var(--ds-content), 100% - var(--ds-gutter)*2) !important;max-width:none !important;margin-inline:auto !important}

/* ============================================================
   base.css — 대구일수 붙여쓰기 3곳 공통 바탕 (ee-9b 2026-10-06)
   킷 tokens.css + chrome.css 다음에 붙는다. 사이트 꼴은 site-a/b/c.css.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:#fff;color:var(--ds-ink);font-size:16px;line-height:1.75;word-break:keep-all;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{text-wrap:balance;letter-spacing:-.03em;line-height:1.3}
p,li{text-wrap:pretty}

/* ★섹션 감싸개는 계산식 하나 — 대문 1200 · 하위 720(킷 §C-4) */
.wrap{width:min(var(--ds-content),100% - var(--ds-gutter)*2);margin-inline:auto}
body.sub main .wrap{width:min(var(--ds-doc),100% - var(--ds-gutter)*2)}
main>section{padding:var(--ds-sec-y-pc) 0;background:#fff}
main>section.alt{background:var(--alt-bg,var(--ds-off))}
@media(max-width:768px){main>section{padding:var(--ds-sec-y-mo) 0}}

/* PC · 모바일 나눔 */
.pcbr{display:inline}
.mo-only{display:none !important}
.mo-t{display:none}
@media(max-width:768px){.pcbr{display:none}.mo-only{display:inline-flex !important}.pc-t{display:none}.mo-t{display:inline}}

/* 섹션 머리 — 제목 두 줄 · 설명 두 문장 */
.sh{margin-bottom:40px}
.sh h2{font-size:34px;font-weight:800;line-height:1.34;color:var(--ds-ink)}
.sh p{margin-top:14px;color:#454545;font-size:17px;line-height:1.7}
@media(max-width:768px){.sh{margin-bottom:26px}.sh h2{font-size:25px}.sh p{font-size:15.5px}}

/* 쪽 경로 */
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:inherit;opacity:.82;margin-bottom:22px}
.crumb a{text-decoration:underline;text-underline-offset:3px}

/* 핵심 요약 — 01 · 02 · 03 세로 · 항목 제목 한 줄 */
.glance .gl-sum{font-size:17px;line-height:1.8;color:#2f2f2f;margin:-14px 0 26px}
.gl-list{display:grid;gap:14px}
.gl-list li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--ds-line);border-radius:14px;padding:22px 24px}
.gl-n{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--ds-primary);color:#191919;font-weight:800;font-size:17px}
.gl-t{font-weight:800;font-size:19px;line-height:1.45;color:#191919}
.gl-d{margin-top:6px;font-size:15.5px;color:#3d3d3d;line-height:1.7}
.gl-go{display:inline-block;margin-top:10px;font-weight:700;font-size:15px;color:#191919;border-bottom:2px solid #191919;padding-bottom:1px}
@media(max-width:768px){.glance .gl-sum{font-size:15.5px;margin-top:-8px}.gl-list li{grid-template-columns:36px 1fr;gap:10px;padding:16px}.gl-n{width:34px;height:34px;font-size:14px;border-radius:9px}.gl-t{font-size:16px}.gl-d{font-size:15px}}

/* FAQ — details 표준 · 하나만 열림(name) */
.faq details.il-faq-item{background:#fff;margin-bottom:12px}
.faq summary{position:relative;padding:18px 54px 18px 22px;font-weight:700;font-size:17px;line-height:1.5;color:#191919}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq details>div{padding:0 22px 22px;color:#333;font-size:16px;line-height:1.8}
.faq details>div p+p{margin-top:12px}
@media(max-width:768px){.faq summary{font-size:16px;padding:16px 46px 16px 16px}.faq details>div{padding:0 16px 18px;font-size:15.5px}}

/* 표 — 모바일에서도 표 그대로(낱말 안 쪼갬) */
table{border-collapse:collapse;width:100%;table-layout:fixed;background:#fff}
table caption{text-align:left;font-weight:800;font-size:17px;padding:0 0 12px;color:#191919}
th,td{border:1px solid #dcdcdc;padding:12px 14px;text-align:left;vertical-align:top;font-size:15.5px;line-height:1.55;word-break:keep-all;overflow-wrap:break-word}
thead th{background:#191919;color:#fff;font-weight:700}
tbody th{background:#fafafa;font-weight:700}
/* 모바일 = 카드형 표(행 하나 = 카드 · 칸마다 「머리칸 이름 : 값」 · data-th) — 3열을 좁게 두면 낱말이 쪼개진다(10-06 표 검수) */
@media(max-width:768px){
  table{table-layout:auto;background:transparent}
  table caption{font-size:15.5px}
  thead{display:none}   /* 1px 로 숨기면 안의 th 상자가 섹션폭 기준선 판정에 잡힌다(10-06 실측) */
  tbody,tr{display:block;width:100%}
  tr{background:#fff;border:1px solid #dcdcdc;border-radius:10px;margin-bottom:10px;overflow:hidden}
  tbody th,tbody td{display:grid;grid-template-columns:92px 1fr;gap:10px;width:100% !important;border:0;padding:9px 12px;font-size:14.5px}
  tbody th{background:#fafafa;border-bottom:1px solid #e6e6e6;font-size:15px}
  tbody th::before,tbody td::before{content:attr(data-th);font-weight:700;color:#5a5a5a;font-size:13.5px}
}

/* 아이콘 원 */
.ds-ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#FCF3F6;color:#191919;flex:none}

/* ★10-07 밤 사장님: 하단 이미지 CTA 는 PC · 모바일 모두 전화 · 문자 그림 2장(PC 문자 숨김 규칙 삭제) */
/* 플로팅(사장님 10-07) — 다음머니 플로팅배너.html 꼴 · PC · 모바일 모두 전화 · 문자 두 알약 · 색은 사이트 변수(site-X.css)
   --fl-line 테두리 · --fl-ink 글 · --fl-g1/--fl-g2 아이콘 그라데이션 · --fl-icon 아이콘 선 · --fl-shadow 그림자 · --fl-hover-ink 호버 글 */
.a-floating,.b-floating,.c-floating{position:fixed;right:28px;bottom:32px;z-index:9999;display:flex;flex-direction:column;gap:14px;font-family:var(--ds-font)}
.a-floating a,.b-floating a,.c-floating a{display:flex;align-items:center;gap:14px;background:#fff;color:var(--fl-ink);border:2.5px solid var(--fl-line);border-radius:999px;padding:16px 28px 16px 20px;box-shadow:0 10px 32px var(--fl-shadow);font-size:16px;font-weight:700;text-decoration:none;line-height:1.2;transition:all .3s cubic-bezier(.22,1,.36,1)}
.a-floating a:hover,.b-floating a:hover,.c-floating a:hover{transform:translateX(-5px) scale(1.03);background:linear-gradient(135deg,var(--fl-g1),var(--fl-g2));color:var(--fl-hover-ink);border-color:var(--fl-g2)}
.a-floating-icon,.b-floating-icon,.c-floating-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--fl-g1),var(--fl-g2));color:var(--fl-icon);transition:background .3s,color .3s}
.a-floating a:hover .a-floating-icon,.b-floating a:hover .b-floating-icon,.c-floating a:hover .c-floating-icon{background:#fff;color:var(--fl-ink)}
.a-floating-icon svg,.b-floating-icon svg,.c-floating-icon svg{width:24px;height:24px;display:block}
.a-floating-text,.b-floating-text,.c-floating-text{white-space:nowrap;letter-spacing:-.02em}
@media(max-width:768px){
  .a-floating,.b-floating,.c-floating{right:16px;bottom:20px;gap:10px}
  .a-floating a,.b-floating a,.c-floating a{padding:12px 20px 12px 14px;font-size:14px;gap:10px;border-width:2px}
  .a-floating-icon,.b-floating-icon,.c-floating-icon{width:36px;height:36px}
  .a-floating-icon svg,.b-floating-icon svg,.c-floating-icon svg{width:20px;height:20px}
}
/* 법정고지 감싸개(footer) — 킷 여백 그대로 */
.il-legal-foot{display:block;margin:0;padding:0}

/* 모바일 메뉴 — 닫혀 있을 때는 화면 밖에 「보이는」 상자로 남지 않게(팝업 검사가 화면 밖 상자로 잡음) · 닫기 · 햄버거는 44px 상자 */
.header-fullmenu{visibility:hidden;transition:right .28s ease,visibility 0s linear .28s}
.header-fullmenu.active{visibility:visible;transition:right .28s ease,visibility 0s}
.fullmenu-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;top:12px;right:12px;font-size:30px;border:1px solid rgba(255,255,255,.35) !important;border-radius:10px}
@media(max-width:900px){
  .btn-momenu{width:44px;height:44px;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid rgba(245,210,223,.55) !important;border-radius:10px}
}
/* 맨 아래 글이 플로팅에 깔리지 않게 — 바닥 여백 */
/* 플로팅 자리 여백 = 바탕(body)이 아니라 푸터 안쪽(10-08 사장님 · 푸터 밑 흰 띠 · 푸터아래여백_검사) */
body{padding-bottom:0 !important}footer.footer{padding-bottom:calc(var(--footer-pb,40px) + 110px) !important}
@media(max-width:768px){footer.footer{padding-bottom:calc(var(--footer-pb,32px) + 150px) !important}}

/* 사진 없는 하위 쪽 머리(10-07 지역판) — 그림 칸 자리를 비우지 않게 한 칸으로 */
section.nofig [class$="-head-grid"]{grid-template-columns:1fr !important}

/* FAQ 질문이 모바일에서 두 줄이 되면 끝줄만 짧게 남지 않게(발행전 「400px 줄바꿈 균형」 · 10-07 진주 실측) */
.faq summary{text-wrap:balance}

/* B판 슬라이드 케러셀(사장님 10-07) — 옆으로 넘기는 카드 · scroll-snap · 자동 넘김 없음 · 가로 스크롤은 이 상자 안에서만 */
main>section.slidebox{padding:28px 0 20px;background:#fff}
.sl-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 2px 12px;margin:0;list-style:none;scrollbar-width:thin}
.sl-track>li{flex:0 0 min(78%,400px);scroll-snap-align:start}
.sl-track a{display:block;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--ds-line)}
.sl-track img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.sl-t{display:block;padding:10px 14px 12px;font-size:15px;color:#333;line-height:1.5}
.sl-t b{display:block;font-size:16.5px;font-weight:800;color:#191919}
@media(max-width:768px){main>section.slidebox{padding:16px 0 10px}.sl-track{gap:12px}.sl-t{font-size:14px}.sl-t b{font-size:15.5px}}

/* 히어로 <picture>(PC · 모바일 사진 쌍 10-07) — 상자 크기 규칙은 안쪽 img 가 그대로 받는다 */
figure picture{display:contents}

/* 모바일 세로 히어로 사진(hero-m)을 가로로 긴 상자에 넣을 때 머리가 잘리지 않게 위쪽 기준으로 자른다(인물 잘림 검사 10-07) */
@media(max-width:760px){figure picture img{object-position:50% 0}}

/* ★B판 모바일(10-07 · 플로팅 가림 검사) — 슬라이드를 두 장이 보이는 작은 칸으로 줄여, 바로 아래 히어로의 전화 · 문자 버튼이 화면 오른쪽 아래 플로팅보다 위에 오게 한다. 글은 메뉴 이름 한 줄만 */
@media(max-width:768px){
  main>section.slidebox{padding:10px 0 4px}
  .sl-track{gap:10px;padding-bottom:8px}
  .sl-track>li{flex:0 0 46%}
  .sl-t{font-size:0;padding:7px 10px 8px}
  .sl-t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:768px){
  .sl-track img{aspect-ratio:2/1}
  main>section.slidebox + section{padding-top:12px !important}
  main>section.slidebox + section [class$="-eyebrow"]{margin-bottom:8px}
  main>section.slidebox + section [class$="-lead"]{margin-top:8px;margin-bottom:10px}
  main>section.slidebox + section [class$="-checks"]{margin-top:10px;margin-bottom:12px}
  main>section.slidebox + section [class$="-checks"] li{margin-bottom:6px}
}
@media(max-width:768px){
  main>section.slidebox + section [class$="-hero-copy"],main>section.slidebox + section [class$="-hero-panel"],main>section.slidebox + section [class$="-main"]{padding-top:6px !important}
  main>section.slidebox + section [class$="-btns"]{margin-top:10px !important}
  main>section.slidebox + section h1{line-height:1.22}
  main>section.slidebox + section [class$="-checks"] li{margin-bottom:2px;padding-top:3px;padding-bottom:3px}
}
@media(max-width:768px){
  .sl-track>li{flex:0 0 40%}
  main>section.slidebox + section [class$="-eyebrow"]{margin-bottom:2px}
  main>section.slidebox + section [class$="-lead"]{margin-top:4px;margin-bottom:6px}
  main>section.slidebox + section [class$="-checks"]{margin-top:6px;margin-bottom:6px}
  main>section.slidebox + section [class$="-btns"]{margin-top:6px !important}
}

/* ★슬라이드 케러셀 = 정사각 카드뉴스(10-07 사장님) — 칸 하나 = 1:1 카드 한 장 · 글 상자 없음 */
.sl-sq>li{flex:0 0 min(31%,360px)}
.sl-sq a{border:0;border-radius:14px;background:none}
.sl-sq img{aspect-ratio:1/1 !important;object-fit:cover}
@media(max-width:768px){.sl-sq>li{flex:0 0 46% !important}}
@media(max-width:768px){.sl-sq>li{flex:0 0 34% !important}main>section.slidebox{padding:8px 0 2px}}
@media(max-width:768px){.sl-sq>li{flex:0 0 30% !important}}

/* ★하단 CTA 단색 판(사장님 10-07 — 노랑→회색 그러데이션 · 민트 버튼 그림 대신) */
.cta-section.ct-solid{background:var(--ds-primary,#F5D2DF) !important;background-image:none !important}
.ct-solid .cta-title,.ct-solid .cta-desc{color:#191919}
.ct-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;min-width:280px;min-height:62px;padding:0 30px;border-radius:999px;font-weight:800;font-size:21px;text-decoration:none;box-sizing:border-box}
.ct-tel{background:#191919;color:var(--ds-primary,#F5D2DF)}.ct-sms{background:#fff;color:#191919;border:2px solid #191919}
@media(max-width:768px){.ct-btn{min-width:0;width:100%;font-size:18px;min-height:56px}}

/* ★10-07 밤 하단 CTA = 카카오일수 노란 단색 배경 이미지 CTA(공통껍데기 cta.html 꼴) */
.cta-section.ct-kk{background:var(--ds-primary,#F5D2DF) !important;background-image:none !important}
.ct-kk .cta-title,.ct-kk .cta-desc{color:#191919}

/* ============================================================
   site-c.css — C 「따져 보고 고르는 사람의 확인 노트」
   히어로 = 히어로 모음 20 어두운 바탕 + 노란 판 카드(그림 없음)
   섹션 = 부품 섹션 비교표 · 체크리스트(번호 상자) · 단계 줄 목록 · 2열 노트
   ============================================================ */
body.site-c{--alt-bg:#EEF1F6;--c-dark:#421B36;
  --fl-line:#421B36;--fl-ink:#421B36;--fl-g1:#2E3650;--fl-g2:#421B36;--fl-icon:#F5D2DF;--fl-shadow:rgba(27,32,48,.28);--fl-hover-ink:#fff}

/* 섹션 제목 — 왼쪽 · 노란 막대 */
.site-c .sh h2{padding-left:18px;border-left:6px solid #F5D2DF}
.site-c .c-hero .sh h2,.site-c .c-head .sh h2{border:0;padding:0}

/* 히어로 */
.c-hero{background:var(--c-dark) !important;color:#fff;padding:84px 0 !important}
.c-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.c-eyebrow{font-size:12px;letter-spacing:.2em;color:#F5D2DF;font-weight:700;margin-bottom:18px}
.c-hero h1,.c-head h1{font-weight:800;color:#fff;letter-spacing:-.045em;line-height:1.25}
.c-hero h1{font-size:52px}
.c-hero h1 .h1-kw,.c-head h1 .h1-kw{display:inline-block;font-size:19px;font-weight:800;letter-spacing:.02em;color:#191919;background:#F5D2DF;padding:3px 12px;margin-bottom:12px;line-height:1.5}
.c-lead{margin-top:20px;font-size:18px;color:#dfe3ec;line-height:1.75}
.c-checks{margin-top:22px;display:grid;gap:8px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.c-checks li{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:#fff}
.c-checks li svg{flex:none;color:#F5D2DF}
.c-btns{display:flex;gap:10px;margin-top:30px}
.c-btn{display:inline-flex;align-items:center;justify-content:center;min-height:62px;padding:0 32px;border-radius:6px;font-weight:800;font-size:22px}
.c-tel{background:#F5D2DF;color:#191919}
.c-sms{background:transparent;color:#fff;border:2px solid #fff}
.c-hero-tile{background:#F5D2DF;color:#191919;border-radius:18px;padding:30px 28px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.c-tile-en{font-size:12px;letter-spacing:.18em;font-weight:800;margin-bottom:16px}
.c-hero-tile ul{display:grid;gap:12px}
.c-hero-tile li{display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center;background:#fff;border-radius:12px;padding:14px 16px}
.c-hero-tile li .ds-ico{grid-row:span 2;background:#191919;color:#F5D2DF;width:44px;height:44px}
.c-hero-tile b{font-size:18px;font-weight:800;line-height:1.35}
.c-hero-tile small{font-size:14.5px;color:#3b3b3b;line-height:1.45}
@media(max-width:900px){
  .c-hero{padding:34px 0 16px !important}
  .c-hero-grid{grid-template-columns:1fr;gap:26px}
  .c-hero h1{font-size:33px}
  .c-hero h1 .h1-kw,.c-head h1 .h1-kw{font-size:15px}
  .c-lead{font-size:16px;margin-top:14px}
  .c-checks li{font-size:15.5px}
  .c-btns{gap:8px;margin-top:22px}
  .c-btn{flex:1 1 0;min-height:56px;padding:0 8px;font-size:16px}
  .c-hero-tile{padding:20px 16px}
  .c-hero-tile b{font-size:16px}
}

/* 하위 쪽 머리 — 어두운 띠 · 노란 테 그림 */
.c-head{background:var(--c-dark) !important;color:#fff;padding:46px 0 54px !important}
.c-head .crumb{color:#dfe3ec}
.c-head h1{font-size:38px}
.c-head-grid{display:grid;gap:26px}
.c-head-fig{border:4px solid #F5D2DF;border-radius:10px;overflow:hidden}
.c-head-fig img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media(max-width:768px){.c-head{padding:26px 0 16px !important}.c-head h1{font-size:27px}}

/* 핵심 요약 */
.c-glance .gl-list li{border-radius:6px;border:1px solid #cfd5e0}
.c-glance .gl-n{border-radius:4px}

/* 케러셀 */
.c-deck-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.c-deck-grid a{display:block;border-radius:6px;overflow:hidden;background:#fff;border:1px solid #cfd5e0}
.c-deck-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}
.c-cap{display:flex;justify-content:space-between;padding:12px 16px;font-weight:800;font-size:15.5px;background:#F5D2DF;color:#191919}
body.sub .c-deck-grid{gap:12px}
body.sub .c-cap{font-size:14px;padding:10px 12px}
@media(max-width:768px){.c-deck-grid,body.sub .c-deck-grid{grid-template-columns:1fr;gap:14px}.c-cap,body.sub .c-cap{font-size:15.5px;padding:12px 14px}}

/* 본문 — 번호 붙은 노트 */
.c-prose{counter-reset:cp;display:grid;gap:14px}
.c-prose p{counter-increment:cp;position:relative;font-size:16.5px;line-height:1.85;color:#262a33;background:#fff;border:1px solid #cfd5e0;border-radius:6px;padding:18px 20px 18px 62px}
.c-prose p::before{content:counter(cp,decimal-leading-zero);position:absolute;left:18px;top:18px;font-weight:800;font-size:15px;color:#191919;background:#F5D2DF;border-radius:4px;padding:0 6px;line-height:1.7}
@media(max-width:768px){.c-prose p{font-size:15.5px;padding:46px 16px 16px}.c-prose p::before{left:16px;top:14px}}

/* 단계 — 줄 목록 */
.c-steps{display:grid;border-top:2px solid #191919}
.c-steps li{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:start;padding:20px 4px;border-bottom:1px solid #cfd5e0}
.c-steps .no{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:#191919;color:#F5D2DF;font-weight:800;font-size:18px;border-radius:4px}
.c-steps h3{font-size:19px;font-weight:800;margin-bottom:4px}
.c-steps p{font-size:15.5px;color:#3b3f48;line-height:1.7}
@media(max-width:768px){.c-steps li{grid-template-columns:46px 1fr;gap:12px;padding:16px 2px}.c-steps .no{width:40px;height:40px;font-size:15px}.c-steps h3{font-size:17px}.c-steps p{font-size:15px}}

/* 돌발 상황 — 2열 노트 */
.c-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.c-cases li{background:#fff;border:1px solid #cfd5e0;border-radius:6px;padding:22px 20px}
.c-cases h3{font-size:18px;font-weight:800;margin-bottom:8px;line-height:1.4}
.c-cases p{font-size:15px;color:#3b3f48}
body.sub .c-cases{grid-template-columns:1fr 1fr}
@media(max-width:768px){.c-cases,body.sub .c-cases{grid-template-columns:1fr}}

/* 매일 · 매주 */
.c-repay{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid #191919;border-radius:6px;overflow:hidden}
.c-repay-card{background:#fff;padding:26px 24px}
.c-repay-card+.c-repay-card{border-left:2px solid #191919}
.c-repay-card h3{font-size:21px;font-weight:800;margin-bottom:10px}
.c-repay-card>p{font-size:15.5px;color:#3b3f48}
.c-repay-card ul{margin-top:14px;display:grid;gap:8px}
.c-repay-card li{display:flex;gap:8px;align-items:flex-start;font-size:15px}
.c-repay-card li svg{flex:none;margin-top:4px}
@media(max-width:768px){.c-repay{grid-template-columns:1fr}.c-repay-card+.c-repay-card{border-left:0;border-top:2px solid #191919}}

/* 표 */
.c-tb thead th{background:var(--c-dark);color:#fff}
.c-tb tbody th{background:#FCF3F6}

/* 체크리스트 — 번호 상자 */
.c-check{display:grid;gap:10px;counter-reset:cc}
.c-check li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.65;padding:14px 18px;background:#fff;border:1px solid #cfd5e0;border-radius:6px}
.c-check li svg{flex:none;margin-top:3px;background:#191919;color:#F5D2DF;border-radius:4px;padding:2px;width:22px;height:22px}
@media(max-width:768px){.c-check li{font-size:15.5px;padding:12px 14px}}

/* 타일 */
.c-tiles{display:grid;gap:14px}
.c-tiles.cols3{grid-template-columns:repeat(3,1fr)}
.c-tiles.cols4{grid-template-columns:repeat(4,1fr)}
.c-tiles li{background:#fff;border:1px solid #cfd5e0;border-radius:6px;padding:22px 18px}
.c-tiles .ds-ico{border-radius:6px;background:#191919;color:#F5D2DF}
.c-tiles h3{font-size:18px;font-weight:800;margin:14px 0 8px}
.c-tiles p{font-size:15px;color:#3b3f48}
body.sub .c-tiles.cols3{grid-template-columns:1fr}
body.sub .c-tiles.cols4{grid-template-columns:1fr 1fr}
@media(max-width:768px){.c-tiles.cols3,.c-tiles.cols4,body.sub .c-tiles.cols3,body.sub .c-tiles.cols4{grid-template-columns:1fr}}

/* 그림 + 글 */
.c-photo{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.c-photo img{width:100%;border-radius:6px;border:1px solid #cfd5e0}
.c-photo-tx p{font-size:16.5px;line-height:1.85}
.c-photo-tx p+p{margin-top:14px}
body.sub .c-photo{grid-template-columns:1fr;gap:22px}
@media(max-width:768px){.c-photo{grid-template-columns:1fr;gap:22px}.c-photo-tx p{font-size:15.5px}}

/* FAQ */
.c-faq details.il-faq-item{border:1px solid #cfd5e0;border-radius:6px}
.c-faq summary{padding-left:22px}
.c-faq details[open] summary{background:#F5D2DF}

/* ★지역판(10-07) — 오른쪽 = 인물 사진 + 노란 판 요약(사진 아래 겹침) */
.c-hero-side{position:relative}
.c-hero-fig{border-radius:16px;overflow:hidden;border:4px solid #F5D2DF}
.c-hero-fig img{width:100%;aspect-ratio:1080/900;object-fit:cover;display:block}
.c-hero-side .c-hero-tile{position:relative;margin:-56px 18px 0;padding:18px 16px}
.c-hero-side .c-hero-tile ul{grid-template-columns:1fr 1fr;gap:10px}
.c-hero-side .c-hero-tile li{grid-template-columns:40px 1fr;padding:10px 12px}
.c-hero-side .c-hero-tile li .ds-ico{width:38px;height:38px}
.c-hero-side .c-hero-tile b{font-size:16px}.c-hero-side .c-hero-tile small{font-size:13.5px}
@media(max-width:900px){.c-hero-side{display:flex;flex-direction:column;gap:16px}.c-hero-side .c-hero-tile{order:0;margin:0}.c-hero-fig{order:1}.c-hero-side .c-hero-tile ul{grid-template-columns:1fr 1fr}.c-hero-side .c-hero-tile li{grid-template-columns:1fr;row-gap:6px}.c-hero-side .c-hero-tile li .ds-ico{grid-row:auto}}


/* ── 섹션 부품 꼴(parts.py · 10-07) — 사이트마다 다른 꼴 ───────────────────────────────── */
:root{--pt-acc:var(--fm-main,#191919);--pt-soft:var(--fm-light,#FCF3F6);--pt-hl:var(--ds-primary,#F5D2DF)}
.pt-n{display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-variant-numeric:tabular-nums}
.pt-ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--pt-hl);color:#191919;flex:0 0 auto}
[class*="pt-"] h3{font-size:19px;font-weight:800;line-height:1.4;margin:0 0 8px;letter-spacing:-.02em}
[class*="pt-"] p{margin:0;line-height:1.75}
/* prose */
.pt-pr0{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pt-pr0 li{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--ds-line);border-radius:16px;padding:22px 24px}
.pt-pr0 .pt-n{width:52px;height:52px;border-radius:50%;background:var(--pt-acc);color:#fff;font-size:18px}
.pt-pr1 .pt-lead{font-size:19px;font-weight:700;line-height:1.7;background:var(--pt-soft);border-left:6px solid var(--pt-acc);border-radius:0 16px 16px 0;padding:22px 26px;margin-bottom:18px}
.pt-pr1 .pt-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pt-pr1 .pt-cols.one{grid-template-columns:1fr}
.pt-pr1 .pt-cols p{background:#fff;border:1px solid var(--ds-line);border-radius:14px;padding:20px 22px}
.pt-pr2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.pt-pr2.one{grid-template-columns:1fr}
.pt-pr2 li{background:#fff;border-radius:18px;padding:24px;box-shadow:0 8px 22px rgba(20,27,46,.07);display:grid;gap:12px}
.pt-pr3{columns:2;column-gap:40px;border-top:3px solid var(--pt-acc);padding-top:22px}.pt-pr3 p{break-inside:avoid;margin-bottom:16px}
/* steps */
.pt-st0{list-style:none;margin:0 0 0 6px;padding:4px 0 4px 26px;border-left:3px solid var(--pt-hl)}      /* 세로 선은 번호 왼쪽 바깥(글 위를 지나지 않게 · 장식선 검사) */
.pt-st0 li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:18px;padding:0 0 22px}
.pt-st0 .pt-n{width:48px;height:48px;border-radius:50%;background:#fff;border:3px solid var(--pt-acc);color:var(--pt-acc);position:relative;z-index:1}
.pt-st1{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.pt-st1 li{background:#fff;border:1px solid var(--ds-line);border-radius:16px;padding:20px 16px;display:grid;gap:10px;align-content:start}
.pt-st1 .pt-n{width:40px;height:40px;border-radius:12px;background:var(--pt-acc);color:#fff}
.pt-st2{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pt-st2 li{display:grid;grid-template-columns:56px 1fr;gap:16px;background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 6px 18px rgba(20,27,46,.06);width:78%}
.pt-st2 li:nth-child(even){margin-left:auto}
.pt-st2 .pt-n{width:56px;height:56px;border-radius:16px;background:var(--pt-hl);color:#191919;font-size:18px}
.pt-st3{list-style:none;margin:0;padding:0;border-top:2px solid var(--pt-acc)}
.pt-st3 li{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:20px 4px;border-bottom:1px solid var(--ds-line)}
.pt-st3 .pt-n{font-size:34px;color:var(--pt-acc);justify-content:flex-start}
/* tiles */
.pt-ti0,.pt-ti1,.pt-ti2,.pt-ti3{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.pt-ti0.cols3,.pt-ti1.cols3,.pt-ti3.cols3{grid-template-columns:repeat(3,1fr)}.pt-ti0.cols4,.pt-ti1.cols4,.pt-ti3.cols4{grid-template-columns:repeat(2,1fr)}
.pt-ti0 li{background:#fff;border:1px solid var(--ds-line);border-radius:18px;padding:24px;display:grid;gap:12px;align-content:start}
.pt-ti1 li{background:var(--pt-soft);border-radius:18px;padding:24px;display:grid;gap:8px;align-content:start}
.pt-ti1 .pt-big{font-size:38px;font-weight:900;color:var(--pt-acc);line-height:1}
.pt-ti2{grid-template-columns:1fr}.pt-ti2 li{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;padding:18px 0;border-bottom:1px dashed var(--ds-line)}
.pt-ti3 li{background:#fff;border-radius:6px;border-top:5px solid var(--pt-acc);padding:22px 22px 24px;box-shadow:0 6px 16px rgba(20,27,46,.06)}
/* checklist */
.pt-ck0{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.pt-ck0.one{grid-template-columns:1fr}
.pt-ck0 li{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--ds-line);border-radius:999px;padding:14px 22px}
.pt-ck0 li svg{color:var(--pt-acc);flex:0 0 auto;margin-top:3px}
.pt-ck1{border-radius:18px;overflow:hidden;border:1px solid var(--ds-line);background:#fff}
.pt-ck1h{background:var(--pt-acc);color:#fff;font-weight:800;padding:14px 24px}
.pt-ck1 ul{list-style:none;margin:0;padding:10px 24px 16px}.pt-ck1 li{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--ds-line)}.pt-ck1 li:last-child{border:0}
.pt-ck1 li svg{color:var(--pt-acc);flex:0 0 auto;margin-top:4px}
.pt-ck2{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pt-ck2 li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;background:var(--pt-soft);border-radius:14px;padding:14px 18px}
.pt-ck2 .pt-n{width:34px;height:34px;border-radius:50%;background:var(--pt-acc);color:#fff}
.pt-ck3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.pt-ck3.one{grid-template-columns:1fr}
.pt-ck3 li{display:flex;gap:10px;border-left:5px solid var(--pt-hl);background:#fff;padding:14px 18px;border-radius:0 12px 12px 0}
.pt-ck3 li svg{color:var(--pt-acc);flex:0 0 auto;margin-top:3px}
/* cases */
.pt-ca0,.pt-ca1,.pt-ca2,.pt-ca3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pt-ca0 li{position:relative;background:#fff;border-radius:20px;padding:22px;box-shadow:0 6px 18px rgba(20,27,46,.07)}
.pt-ca0 li::after{content:"";position:absolute;left:28px;bottom:-10px;border:10px solid transparent;border-top-color:#fff;border-bottom:0}
.pt-ca1 li{background:#fff;border:1px solid var(--ds-line);border-radius:16px;padding:20px 22px}
.pt-tag{display:inline-block;font-size:12.5px;font-weight:800;color:#191919;background:var(--pt-hl);border-radius:999px;padding:3px 10px;margin-bottom:10px}
.pt-ca2 li{border-left:5px solid var(--pt-acc);background:#fff;padding:18px 20px;border-radius:0 14px 14px 0}
.pt-ca3{grid-template-columns:1fr 1fr}.pt-ca3 li{background:var(--pt-soft);border-radius:20px;padding:26px}
/* repay */
.pt-rp0,.pt-rp1,.pt-rp2,.pt-rp3{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pt-rp0 article,.pt-rp1 article,.pt-rp2 article,.pt-rp3 article{background:#fff;border-radius:18px;padding:24px;border:1px solid var(--ds-line)}
.pt-rp1{grid-template-columns:1fr}.pt-rp1 article{display:grid;grid-template-columns:220px 1fr;gap:20px;border-left:6px solid var(--pt-acc)}
.pt-rp1 article ul{grid-column:2}
.pt-rp2 article h3{background:var(--pt-acc);color:#fff;margin:-24px -24px 16px;padding:16px 24px;border-radius:18px 18px 0 0}
.pt-rp3 article{background:var(--pt-soft);border:0}
[class^="pt-rp"] ul{list-style:none;margin:14px 0 0;padding:0}[class^="pt-rp"] li{display:flex;gap:8px;margin:6px 0}[class^="pt-rp"] li svg{color:var(--pt-acc);flex:0 0 auto;margin-top:4px}
/* 중간 상담 띠 · 요약 정리 */
.pt-cta-in{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:22px;padding:28px 34px}
.pt-cta0 .pt-cta-in{background:var(--pt-acc);color:#fff}  /* --pt-acc = 사이트 진한 색(빌더가 --fm-main 지정) */.pt-cta1 .pt-cta-in{background:var(--pt-hl);color:#191919}
.pt-cta-t{font-size:22px;font-weight:800;margin:0;line-height:1.45}
.pt-cta-b{display:flex;gap:10px;flex-wrap:wrap}
.pt-cta-b a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:800;text-decoration:none;white-space:nowrap}
.pt-cta0 .pt-cta-tel{background:#fff;color:#191919}.pt-cta1 .pt-cta-tel{background:#191919;color:#fff}
.pt-cta-sms{background:transparent;border:2px solid currentColor;color:inherit}
.pt-recap-l{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:none}
.pt-recap-l li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--ds-line);border-radius:14px;padding:16px 20px;font-weight:700}
.pt-recap-l li svg{color:var(--pt-acc);flex:0 0 auto;margin-top:3px}
.pt-recap-l li span{flex:1}.pt-recap-go{flex:0 0 auto;align-self:center;font-weight:800;font-size:14.5px;color:var(--pt-acc);text-decoration:none;white-space:nowrap;border-bottom:2px solid var(--pt-hl);padding-bottom:1px}  /* 줄마다 관련 쪽 내부 링크(10-08) */
@media(max-width:760px){.pt-recap-l li{flex-wrap:wrap}.pt-recap-go{margin-left:30px}}
@media(max-width:900px){
  .pt-st1{grid-template-columns:1fr}.pt-st2 li{width:100%}
  .pt-ti0.cols3,.pt-ti1.cols3,.pt-ti3.cols3,.pt-ti0.cols4,.pt-ti1.cols4,.pt-ti3.cols4{grid-template-columns:1fr}
  .pt-ca0,.pt-ca1,.pt-ca2,.pt-ca3,.pt-rp0,.pt-rp2,.pt-rp3,.pt-pr1 .pt-cols,.pt-pr2,.pt-ck0,.pt-ck3{grid-template-columns:1fr}
  .pt-rp1 article{grid-template-columns:1fr}.pt-rp1 article ul{grid-column:1}
  .pt-pr3{columns:1}.pt-st3 li{grid-template-columns:56px 1fr;gap:12px}.pt-st3 .pt-n{font-size:26px}
  .pt-pr0 li{grid-template-columns:44px 1fr;gap:12px;padding:18px}.pt-pr0 .pt-n{width:40px;height:40px;font-size:15px}
  .pt-cta-in{flex-direction:column;align-items:stretch;text-align:center;padding:22px 18px}.pt-cta-b{justify-content:center}.pt-cta-t{font-size:19px}
}


/* ── 본문 섹션 부품(parts_lib · 10-07 밤) — 부품 번호마다 꼴 · 폭은 .wrap 만 ─────────────── */
:root{--pp-acc:var(--fm-main,#191919);--pp-hl:var(--ds-primary,#F5D2DF);--pp-soft:var(--fm-light,#FCF3F6);--pp-line:var(--ds-line,#e6e3da)}
.pp-sec h3{font-size:19px;font-weight:800;line-height:1.42;margin:0 0 8px;letter-spacing:-.02em;word-break:keep-all}
.pp-sec p{margin:0;line-height:1.75;word-break:keep-all}
.pp-sec ul,.pp-sec ol{list-style:none;margin:0;padding:0}
.pp-n{display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-variant-numeric:tabular-nums}
.pp-ico,.pp-mi{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--pp-hl);color:#191919;flex:0 0 auto}
.pp-g{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.pp-g.c4,.pp-g.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-g.c6{grid-template-columns:repeat(3,minmax(0,1fr))}
/* 5칸 = 가로로 긴 줄 목록(5열은 소제목 · 본문 줄 수가 들쭉날쭉 · 줄 맞춤 검사 · 3열은 마지막 줄 빈칸 · 섹션폭) */.pp-g.c5{grid-template-columns:1fr !important;gap:12px}
.pp-g li{display:grid;gap:10px;align-content:start}
/* 02-73 동네 칩 */
.g73 li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:24px}
.g73 .pp-chip{display:inline-flex}.g73 .pp-mi{width:40px;height:40px;border-radius:50%}
/* 02-70 가운데 큰 번호 */
.g70 li{text-align:center;justify-items:center;background:#fff;border-radius:22px;padding:30px 22px;box-shadow:0 10px 26px rgba(20,27,46,.07)}
.g70 .pp-ring{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;border:3px solid var(--pp-hl);font-weight:900;font-size:20px}
/* 02-76 메인색 약속 */
.g76 li{background:var(--pp-acc);color:#fff;border-radius:20px;padding:26px}.g76 h3{color:#fff}.g76 p{color:rgba(255,255,255,.88)}
/* 02-92 왼쪽 아이콘 */
.g92.c2,.g92.c4,.g92.c6{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.g92.c3,.g92.c5{grid-template-columns:1fr !important}.g92 li{grid-template-columns:52px 1fr;gap:16px;background:var(--pp-soft);border-radius:18px;padding:22px}
/* 02-94 아래 띠 */
.g94 li{background:#fff;border:1px solid var(--pp-line);border-bottom:5px solid var(--pp-hl);border-radius:16px;padding:24px}
/* 02-24 배경 큰 숫자 */
.g24 li{position:relative;overflow:hidden;background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:28px 24px}
.g24 .pp-ghost{position:absolute;right:16px;top:10px;font-size:56px;font-weight:900;line-height:1;color:#8A6A00;pointer-events:none}  /* 진한 금색 — 글자 대비 */.g24 h3{padding-right:72px}
.g24 h3,.g24 p{position:relative}
/* 02-87 번호 기둥 줄 */
.g87{grid-template-columns:1fr !important;gap:0}.g87 li{grid-template-columns:84px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--pp-line)}
.g87 li:first-child{border-top:2px solid var(--pp-acc)}.g87 .pp-n{font-size:30px;color:var(--pp-acc);justify-content:flex-start}
/* 02-100 머리 띠 */
.g100 li{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--pp-line);padding:0 0 22px;gap:14px}
.g100 h3{background:var(--pp-hl);color:#191919;margin:0;padding:16px 22px}.g100 p{padding:0 22px}
/* 02-51 점선 */
.g51 li{border:2px dashed var(--pp-line);border-radius:18px;padding:24px;background:#fff}
/* 02-97 옅은 바탕 */
.g97 li{background:var(--pp-soft);border-radius:26px;padding:28px 26px}
/* 02-72 모서리 번호 */
.g72 li{position:relative;background:#fff;border-radius:20px;padding:26px;border:1px solid var(--pp-line)}
.g72.c5{grid-template-columns:1fr !important;gap:14px}.g72.c5 li{grid-template-columns:52px 1fr;column-gap:18px;row-gap:4px;padding:22px 80px 22px 24px !important}.g72.c5 .pp-ico{grid-row:span 2}.g72.c5 h3,.g72.c5 p{grid-column:2;margin:0}  /* 5칸 = 가로로 긴 줄(5열은 소제목이 꺾임) */
.g72 .pp-corner{position:absolute;right:0;top:0;background:var(--pp-acc);color:#fff;font-weight:900;font-size:14px;padding:8px 14px;border-radius:0 20px 0 14px}
/* 02-20 윗줄 번호 */
.g20 li{background:#fff;border-top:3px solid var(--pp-acc);padding:20px 4px 6px;border-radius:0}
.g20 .pp-ln{font-weight:900;font-size:15px;color:var(--pp-acc);letter-spacing:.08em}.g20 p::after{content:" →";color:var(--pp-acc);font-weight:900}
/* 02-103 두 칸 큰 판 */
.g103.c2,.g103.c4,.g103.c6{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.g103.c3,.g103.c5{grid-template-columns:1fr !important}.g103 li{grid-template-columns:56px 1fr;gap:18px;background:#fff;border-radius:24px;padding:30px;box-shadow:0 12px 30px rgba(20,27,46,.08)}
.g103 .pp-ico{width:56px;height:56px;border-radius:50%}
/* 02-83 업종 탭 */
.pp-sel{display:flex;flex-wrap:wrap;gap:10px}.pp-sel>input{position:absolute;opacity:0;pointer-events:none}
.pp-sel>label{cursor:pointer;border:1.5px solid var(--pp-line);background:#fff;border-radius:999px;padding:10px 20px;font-weight:800;font-size:15.5px}
.pp-sel-ps{flex:1 0 100%;margin-top:8px}.pp-sel-p{display:none;grid-template-columns:56px 1fr;gap:18px;background:#fff;border-radius:20px;padding:28px;box-shadow:0 10px 26px rgba(20,27,46,.07)}
.pp-sel>input:nth-of-type(1):checked~.pp-sel-ps .pp-sel-p:nth-child(1),.pp-sel>input:nth-of-type(2):checked~.pp-sel-ps .pp-sel-p:nth-child(2),
.pp-sel>input:nth-of-type(3):checked~.pp-sel-ps .pp-sel-p:nth-child(3),.pp-sel>input:nth-of-type(4):checked~.pp-sel-ps .pp-sel-p:nth-child(4),
.pp-sel>input:nth-of-type(5):checked~.pp-sel-ps .pp-sel-p:nth-child(5),.pp-sel>input:nth-of-type(6):checked~.pp-sel-ps .pp-sel-p:nth-child(6){display:grid}
.pp-sel>input:checked+label{background:var(--pp-acc);border-color:var(--pp-acc);color:#fff}
.pp-sel>input:focus-visible+label{outline:3px solid var(--pp-hl);outline-offset:2px}
/* 06-75 말풍선 */
.g75 .pp-bub{position:relative;background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 22px rgba(20,27,46,.07)}
.g75 .pp-bub::after{content:"";position:absolute;left:30px;bottom:-11px;border:11px solid transparent;border-top-color:#fff;border-bottom:0}
.g75 li{padding-bottom:12px}
/* 06-78 큰 인용 */
.pp-story{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:stretch}
.pp-story blockquote{display:flex;flex-direction:column;justify-content:center;margin:0;background:var(--pp-acc);color:#fff;border-radius:24px;padding:34px 32px;position:relative}
.pp-story blockquote h3{color:#fff;font-size:22px}.pp-story blockquote p{color:rgba(255,255,255,.9)}
.pp-qm{display:block;font-size:64px;line-height:.8;color:var(--pp-hl);font-weight:900;margin-bottom:8px}
.pp-story ul{display:grid;gap:12px}.pp-story li{background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:20px 22px}
/* 04-41 세로 길 */
.s41{border-left:3px dashed var(--pp-hl);margin-left:8px;padding-left:28px;display:grid;gap:22px}
.s41 li{display:grid;gap:8px}.s41 .pp-pin{display:inline-block;width:max-content;background:var(--pp-acc);color:#fff;font-weight:900;font-size:13px;letter-spacing:.06em;border-radius:999px;padding:5px 12px}
/* 04-53 큰 숫자 편집 */
.s53 li{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--pp-line)}.s53 li:last-child{border-bottom:1px solid var(--pp-line)}
.s53 .pp-big{font-size:52px;font-weight:900;line-height:1;color:var(--pp-acc);border-bottom:6px solid var(--pp-hl);padding-bottom:6px;align-self:start;width:max-content}  /* 글자 대비(노란 글씨 ✕) */
/* 04-60 가로 줄 위 점 */
.s60{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative;padding-top:8px}.s60.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.s60.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.s60.c6{grid-template-columns:repeat(3,minmax(0,1fr))}
.s60::before{content:"";position:absolute;left:0;right:0;top:30px;border-top:3px solid var(--pp-hl)}
.s60 li{position:relative;display:grid;gap:10px;align-content:start}
.s60 .pp-dot{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--pp-acc);color:#fff;font-weight:900;box-shadow:0 0 0 6px #fff}
.s60.c5,.s60.c6{grid-template-columns:1fr !important;padding-left:8px;gap:18px}.s60.c5::before,.s60.c6::before{left:29px;right:auto;top:0;bottom:0;border-top:0;border-left:3px solid var(--pp-hl)}
.s60.c5 li,.s60.c6 li{grid-template-columns:44px 1fr;gap:4px 16px}.s60.c5 li h3,.s60.c5 li p,.s60.c6 li h3,.s60.c6 li p{grid-column:2}.s60.c5 .pp-dot,.s60.c6 .pp-dot{grid-row:span 2}  /* 5 · 6단계 = 세로 길(가로 5칸은 본문 줄 수가 들쭉날쭉) */
/* 04-80 화살표 잇는 카드 */
.s80{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.s80 li{position:relative;background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:24px;display:grid;gap:10px;align-content:start}
.s80 li:not(:last-child)::after{content:"→";position:absolute;right:-21px;top:50%;transform:translateY(-50%);font-weight:900;color:var(--pp-acc)}
.s80 .pp-n{width:42px;height:42px;border-radius:12px;background:var(--pp-hl);color:#191919}
/* 04-91 꺾쇠 띠 */
.s91{display:grid;gap:12px}.s91 li{display:grid;grid-template-columns:120px 1fr;gap:6px 20px;background:#fff;border-radius:14px;padding:18px 22px;border:1px solid var(--pp-line)}
.s91 .pp-chev{grid-row:span 2;align-self:center;display:inline-flex;align-items:center;justify-content:center;height:44px;background:var(--pp-hl);color:#191919;font-weight:900;clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%,10% 50%)}
.s91 h3{margin:0}
/* 목록 */
.pp-l{display:grid;gap:12px}.pp-l li{display:flex;gap:12px;align-items:flex-start}.pp-l li svg{flex:0 0 auto;margin-top:4px;color:var(--pp-acc)}
.l39{background:#fff;border:1px solid var(--pp-line);border-radius:20px;padding:22px 26px;gap:0}.l39 li{padding:12px 0;border-bottom:1px dashed var(--pp-line)}.l39 li:last-child{border:0}
.l42{grid-template-columns:1fr 1fr}.l42 li{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px rgba(20,27,46,.05)}
.l58{display:flex;flex-wrap:wrap;gap:10px}.l58 li{background:var(--pp-soft);border-radius:999px;padding:12px 20px}
.l64 li{display:grid;grid-template-columns:40px 1fr;align-items:center;border-bottom:1px solid var(--pp-line);padding:12px 0}.l64 .pp-n{width:32px;height:32px;border-radius:8px;background:var(--pp-acc);color:#fff}
.l09 li{font-size:17px;font-weight:700;padding:6px 0}.l09 li svg{width:26px;height:26px;background:var(--pp-hl);border-radius:50%;padding:4px;color:#191919;margin-top:0}
.l40{background:var(--pp-soft);border-radius:22px;padding:26px 28px}.l40 .pp-n{width:30px;height:30px;border-radius:50%;background:#fff;color:#191919;flex:0 0 auto}
.l66{grid-template-columns:1fr 1fr}.l66 li{border-left:5px solid var(--pp-acc);background:#fff;padding:14px 18px;border-radius:0 12px 12px 0}
.pp-ldark{background:var(--pp-acc);color:#fff;border-radius:22px;padding:28px 30px}
.pp-ldark-h{font-weight:900;font-size:18px;color:var(--pp-hl);margin-bottom:12px !important}
.pp-ldark ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.pp-ldark.odd ul{grid-template-columns:1fr}.pp-ldark li{display:flex;gap:10px}.pp-ldark li svg{color:var(--pp-hl);flex:0 0 auto;margin-top:4px}
/* 비교 */
.pp-tbw{overflow-x:auto}.pp-cmp,.pp-t{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}
.pp-cmp th,.pp-cmp td,.pp-t th,.pp-t td{padding:16px 18px;border-bottom:1px solid var(--pp-line);text-align:left;vertical-align:top;line-height:1.65}
.pp-cmp thead th{background:var(--pp-acc);color:#fff}.pp-cmp thead th:nth-child(2){background:var(--pp-hl);color:#191919}
.pp-cmp tbody th{width:120px;background:var(--pp-soft);font-weight:800}
.pp-p{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.pp-p article{background:#fff;border-radius:20px;padding:26px;border:1px solid var(--pp-line)}
.pp-p ul{margin-top:12px}.pp-p li{display:flex;gap:8px;margin:6px 0}.pp-p li svg{color:var(--pp-acc);flex:0 0 auto;margin-top:4px}
.p44{grid-template-columns:1fr 56px 1fr;align-items:center}.pp-vs{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--pp-acc);color:#fff;font-weight:900}
.p54{grid-template-columns:1fr}.p54 article{display:grid;grid-template-columns:240px 1fr;gap:6px 24px;border-left:8px solid var(--pp-hl)}.p54 article ul{grid-column:2}.p54 h3{grid-row:span 2}
.p84 article{border:2px solid var(--pp-acc);box-shadow:0 10px 24px rgba(20,27,46,.06)}.pp-lab{display:inline-block;font-size:12.5px;font-weight:800;background:var(--pp-hl);color:#191919;border-radius:999px;padding:3px 10px;margin-bottom:10px}
.p43{grid-template-columns:1fr}.p43 article{display:grid;grid-template-columns:200px 1fr;gap:4px 24px;padding:0;overflow:hidden}
.p43 h3{grid-row:span 2;margin:0;background:var(--pp-hl);color:#191919;padding:26px 22px;display:flex;align-items:center}.p43 article>p,.p43 article>ul{padding:0 24px}.p43 article>p{padding-top:22px}.p43 article>ul{padding-bottom:22px}
.p65 article{background:var(--pp-soft);border:0;border-radius:26px}
.p86 article:first-child{background:var(--pp-acc);color:#fff;border:0}.p86 article:first-child h3{color:#fff}.p86 article:first-child li svg{color:var(--pp-hl)}
.p86 article:last-child{background:var(--pp-hl);border:0}.p86 article:last-child h3,.p86 article:last-child p,.p86 article:last-child li{color:#191919}.p86 article:last-child li svg{color:#191919}
.t37 caption,.t69 caption{caption-side:top;text-align:left;font-weight:800;padding:0 0 12px}
.t37 thead th{background:var(--pp-soft);color:#191919}.t37 tbody tr:nth-child(even){background:#fafaf6}
.t69 thead th{background:var(--pp-acc);color:#fff}.t69 tbody th{color:var(--pp-acc)}
/* 글 상자 */
.pp-b{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.b38 li{position:relative;background:#fff;border-radius:20px;padding:30px 30px 28px;box-shadow:0 10px 28px rgba(20,27,46,.08);border:1px solid rgba(20,27,46,.06);overflow:hidden}
.b38 li::before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:var(--pp-hl)}
.b38 .pp-n{min-width:44px;height:44px;border-radius:14px;background:var(--pp-acc);color:#fff;font-size:16px;margin-bottom:14px}
.b02 li{display:grid;grid-template-columns:180px 1fr;gap:18px;background:var(--pp-soft);border-radius:16px;padding:22px 24px}.b02 h3{margin:0;color:var(--pp-acc)}
.b02{grid-template-columns:1fr}
.b79{background:#fff;border-radius:20px;padding:10px 28px;border:1px solid var(--pp-line);grid-template-columns:1fr;gap:0;background-image:repeating-linear-gradient(transparent 0 35px,rgba(20,27,46,.035) 35px 36px)}
.b79 li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--pp-line)}.b79 li:last-child{border:0}
.b79 .pp-n{width:34px;height:34px;border-radius:50%;border:2px solid var(--pp-acc);color:var(--pp-acc)}
.b55 li{position:relative;background:#fff;border:1px solid var(--pp-line);border-radius:0 18px 18px 18px;padding:28px 26px;margin-top:22px}
.b55 .pp-tab{position:absolute;left:-1px;top:-30px;background:var(--pp-hl);color:#191919;font-weight:900;border-radius:10px 10px 0 0;padding:4px 16px}
.b01 li{border-top:6px solid var(--pp-acc);background:#fff;padding:24px 4px 4px}.b01 h3{font-size:20px}
.b12 li{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:6px 0 6px 0;border-left:0}.b12 .pp-big{font-size:46px;font-weight:900;line-height:1;color:var(--pp-acc);border-right:3px solid var(--pp-hl);padding-right:14px}
.pp-lead4-a{background:var(--pp-acc);color:#fff;border-radius:22px;padding:32px;margin-bottom:18px}.pp-lead4-a h3{color:#fff;font-size:23px}.pp-lead4-a p{color:rgba(255,255,255,.9);font-size:17px}
.pp-lead4-a .pp-n{color:var(--pp-hl);font-size:22px;margin-bottom:8px}
.pp-lead4 ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pp-lead4 li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:24px}
.pp-lead4 li .pp-n{color:var(--pp-acc);font-size:18px;margin-bottom:8px}
/* 링크 */
.pp-k{display:grid;gap:16px}.pp-k a{text-decoration:none;color:inherit}
.k06{grid-template-columns:repeat(3,minmax(0,1fr))}.k06 a{display:grid;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px rgba(20,27,46,.07)}
.k06 .pp-thi{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:var(--pp-soft)}.k06 .pp-thi .pp-ico{width:64px;height:64px;border-radius:20px}.k06 .pp-thi svg{width:30px;height:30px}.k06 .pp-lt{padding:16px 18px 4px;font-weight:800;font-size:17px}.k06 .pp-go{padding:0 18px 18px;font-size:14.5px;color:#55534c;display:inline-flex;gap:6px;align-items:center}
.k45{grid-template-columns:1fr 1fr}.k45 a{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto;gap:4px 16px;align-items:center;background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:12px}
.k45 .pp-th{grid-row:span 2}.k45 .pp-thi{display:flex;align-items:center;justify-content:center;width:110px;height:110px;border-radius:12px;background:var(--pp-soft)}.k45 .pp-lt{font-weight:800;font-size:17px;align-self:end}.k45 .pp-go{font-size:14px;color:#55534c;display:inline-flex;gap:6px;align-self:start}
.k46{grid-template-columns:1fr 1fr;gap:0 28px}.k46 a{display:flex;justify-content:space-between;align-items:center;padding:18px 4px;border-bottom:1px solid var(--pp-line);font-weight:800}.k46 .pp-go{font-size:0;color:var(--pp-acc)}.k46 .pp-go svg{width:20px;height:20px}
.k95{grid-template-columns:repeat(3,minmax(0,1fr))}.k95 a{display:grid;gap:8px;background:var(--pp-soft);border-radius:18px;padding:22px}.k95 .pp-lt{font-weight:800;font-size:17px}.k95 .pp-go{font-size:14px;display:inline-flex;gap:6px;color:var(--pp-acc);font-weight:700}
/* 숫자 강조 */
.pp-st{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pp-st.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pp-st li{display:grid;gap:8px;align-content:start}.pp-big{font-size:38px;font-weight:900;line-height:1.1;letter-spacing:-.03em}
.st90 li{background:#fff;border-radius:20px;padding:26px 22px;border:1px solid var(--pp-line)}.st90 .pp-big{color:var(--pp-acc);border-bottom:4px solid var(--pp-hl);padding-bottom:10px}
.st71{background:var(--pp-acc);border-radius:24px;padding:30px}.st71 li{color:#fff;border-left:1px solid rgba(255,255,255,.25);padding-left:18px}.st71 li:first-child{border:0;padding-left:0}
.st71 .pp-big{color:var(--pp-hl)}.st71 h3{color:#fff}.st71 p{color:rgba(255,255,255,.85)}
/* 손님 말 */
.pp-q{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pp-q.c2,.pp-q.c4{grid-template-columns:1fr 1fr}
.pp-q li{background:#fff;border-radius:20px;padding:24px;border:1px solid var(--pp-line);display:grid;gap:14px;align-content:start}
.pp-qq{font-size:18px;font-weight:800;line-height:1.55}.pp-qa{background:var(--pp-soft);border-radius:14px;padding:14px 16px;font-size:15.5px}.pp-qa b{display:block;font-size:13px;color:var(--pp-acc);margin-bottom:4px}
/* 안내 펼침 */
.pp-nt{display:grid;gap:12px}.pp-nt summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;font-weight:800;font-size:17px;padding:18px 22px}
.pp-nt summary::-webkit-details-marker{display:none}.pp-nt summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--pp-acc)}.pp-nt details[open] summary::after{content:"−"}
.pp-nt details p{padding:0 22px 20px}
.nt0 details{background:var(--pp-soft);border-radius:16px}.nt1 details{background:#fff;border:1px solid var(--pp-line);border-radius:14px}.nt1 .pp-n{font-style:normal;width:30px;height:30px;border-radius:50%;background:var(--pp-acc);color:#fff;flex:0 0 auto}
.nt2{gap:0;border-top:2px solid var(--pp-acc)}.nt2 details{border-bottom:1px solid var(--pp-line)}.nt3 details{background:#fff;border-radius:18px;box-shadow:0 6px 18px rgba(20,27,46,.06);border-left:6px solid var(--pp-hl)}.nt3 .pp-n{font-style:normal;color:var(--pp-acc);font-size:18px}
.nt4 details{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--pp-line)}.nt4 details[open] summary{background:var(--pp-hl);color:#191919}
.nt5{grid-template-columns:1fr 1fr;align-items:start}.nt5 details{background:#fff;border-radius:16px;border:1.5px solid var(--pp-acc)}
/* 중간 상담 띠 */
.pp-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;border-radius:24px;padding:30px 36px}
.pp-cta-t{font-size:22px;font-weight:900;line-height:1.45}.pp-cta-d{font-size:15.5px;opacity:.85;margin-top:4px !important}
.pp-cta-b{display:flex;gap:10px;flex-wrap:wrap}.pp-cta-b a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:800;text-decoration:none;white-space:nowrap}
.c81{background:var(--pp-acc);color:#fff}.c81 .pp-cta-tel{background:var(--pp-hl);color:#191919}.c81 .pp-cta-sms{border:2px solid #fff;color:#fff}
.c26{background:var(--pp-hl);color:#191919;flex-direction:column;text-align:center}.c26 .pp-cta-tel{background:#191919;color:#fff}.c26 .pp-cta-sms{background:#fff;color:#191919}
.c30{background:#fff;border:2px solid var(--pp-acc)}.c30 .pp-cta-tel{background:var(--pp-acc);color:#fff}.c30 .pp-cta-sms{border:2px solid var(--pp-acc);color:var(--pp-acc)}
.c04{background:#fff;padding:0;overflow:hidden;box-shadow:0 10px 26px rgba(20,27,46,.08)}.c04 .pp-cta-tx{padding:28px 32px}.c04 .pp-cta-b{background:var(--pp-hl);align-self:stretch;align-items:center;padding:20px 28px}
.c04 .pp-cta-tel{background:#191919;color:#fff}.c04 .pp-cta-sms{background:#fff;color:#191919}
.c15{background:var(--pp-soft);border-radius:999px;padding:24px 28px 24px 40px}.c15 .pp-cta-tel{background:var(--pp-acc);color:#fff}.c15 .pp-cta-sms{background:#fff;color:#191919;border:1.5px solid var(--pp-line)}
/* 홀수 개수 2열 · 5단계 3열 → 마지막 줄 빈칸 없게(섹션폭 검사) */
.l42.odd,.l66.odd{grid-template-columns:1fr}
.s80.c5{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.s80.c5 li{padding:20px 16px}.s80.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.s80.c4 li:nth-child(2)::after{content:none}
.pp-q.c5{grid-template-columns:1fr}
/* 10-08 밤 추가 꼴 */
.nt6 details{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--pp-line)}.nt6 summary{background:var(--pp-acc);color:#fff}.nt6 summary::after{color:var(--pp-hl)}
.nt7 summary::after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--pp-hl);color:#191919;font-size:18px}.nt7 details[open] summary::after{content:"−"}.nt7 details{border-bottom:1px solid var(--pp-line)}
.nt8 details{background:#fff;border-left:6px solid var(--pp-hl);border-radius:0 14px 14px 0;box-shadow:0 4px 14px rgba(20,27,46,.05)}
.nt9{counter-reset:nt}.nt9 details{counter-increment:nt;background:var(--pp-soft);border-radius:18px}.nt9 summary::before{content:counter(nt,decimal-leading-zero);font-size:22px;font-weight:900;color:var(--pp-acc)}
.p08 article{border-top:0;border-radius:0 0 18px 18px;position:relative;margin-top:34px}.p08 article h3{position:absolute;left:-1px;top:-34px;margin:0;background:var(--pp-hl);color:#191919;font-size:16px;padding:7px 18px;border-radius:12px 12px 0 0}
.p16 article{border:2px dashed var(--pp-acc);background:#fff}
.p22{counter-reset:pp}.p22 article{counter-increment:pp;position:relative;padding-top:58px}.p22 article::before{content:counter(pp,decimal-leading-zero);position:absolute;left:26px;top:18px;background:var(--pp-acc);color:#fff;font-weight:900;border-radius:10px;padding:4px 10px;font-size:14px}
.p36{gap:0;background:#fff;border-radius:22px;border:1px solid var(--pp-line);overflow:hidden}.p36 article{border:0;border-radius:0}.p36 article+article{border-left:1px solid var(--pp-line);background:var(--pp-soft)}
.l07{grid-template-columns:repeat(2,minmax(0,1fr))}.l07.c3,.l07.c6,.l07.c9{grid-template-columns:repeat(3,minmax(0,1fr))}.l07 li{background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:18px;flex-direction:column;gap:10px}.l07 li svg{width:28px;height:28px;background:var(--pp-hl);border-radius:8px;padding:4px;color:#191919}
.l07.c5,.l07.c7{grid-template-columns:1fr}
.l25 li{background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 8px 22px rgba(20,27,46,.07);font-weight:700}.l25 li svg{width:30px;height:30px;background:var(--pp-acc);color:#fff;border-radius:50%;padding:6px;margin-top:0}
.l34{border-left:3px solid var(--pp-hl);margin-left:14px;padding-left:22px}.l34 li{padding:8px 0}.l34 .pp-n{width:30px;height:30px;border-radius:50%;background:var(--pp-acc);color:#fff;flex:0 0 auto;margin-left:-38px}
@media(max-width:900px){.l07,.l07.odd,.l07.c3,.l07.c6,.l07.c9{grid-template-columns:1fr}.p36 article+article{border-left:0;border-top:1px solid var(--pp-line)}}
.q2 li{background:transparent;border:0;padding:0;gap:10px}.q2 .pp-qq{align-self:flex-start;background:#fff;border:1px solid var(--pp-line);border-radius:20px 20px 20px 4px;padding:16px 18px;font-size:17px;max-width:92%}
.q2 .pp-qa{align-self:flex-end;justify-self:end;background:var(--pp-hl);border-radius:20px 20px 4px 20px;max-width:92%}.q2 .pp-qa b{color:#191919}
.st23{grid-template-columns:1fr !important;gap:0;border-top:2px solid var(--pp-acc)}.st23 li{display:grid;grid-template-columns:200px 220px 1fr;gap:20px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--pp-line)}.st23 .pp-big{color:var(--pp-acc);font-size:30px}.st23 h3{margin:0}
.k48{grid-template-columns:1fr 1fr 1fr}.k48 a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:14px 16px}.k48 .pp-thi{display:flex}.k48 .pp-lt{font-weight:800;flex:1}.k48 .pp-go{font-size:0;color:var(--pp-acc)}.k48 .pp-go svg{width:20px;height:20px}
@media(max-width:900px){.st23 li{grid-template-columns:1fr;gap:6px}.k48{grid-template-columns:1fr !important}}
/* 큰 번호는 꺾이지 않게(10-08 사장님 · 모바일 「0 / 2」) — 좁은 칸에선 글씨를 줄이고 칸을 맞춤 */
.pp-big,.pp-n,.pp-ghost,.pp-ring,.pp-dot,.pp-pin,.pp-chev,.pp-tab,.pp-corner,.pp-ln{white-space:nowrap}
@media(max-width:760px){.pp-big{font-size:32px}.b12 li{grid-template-columns:58px 1fr;gap:12px}.b12 .pp-big{font-size:32px;padding-right:10px}.s53 .pp-big{font-size:32px}}
/* 10-08 사장님(desk 「이 네 가지를 봐요」): 본문 있는 4칸 이상 가로 한 줄 금지 → PC 2×2 · 모바일 1열 · 판 안쪽 여백 PC 24 · 모바일 18 이상 · 칸 제목 < h2 */
.pp-st,.pp-st.c4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.pp-st.c3{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.pp-big{font-size:30px}
.st71{padding:28px}.st71 li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14) !important;border-radius:18px;padding:24px !important}
.st90 li{padding:26px 24px}
.s60.c4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;padding-top:0}.s60.c4::before{display:none}.s60.c4 li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:24px}
.s80.c4,.s80.c5{grid-template-columns:1fr !important;gap:14px}.s80.c4 li,.s80.c5 li{grid-template-columns:52px 1fr;column-gap:16px;padding:22px 24px}.s80.c4 li h3,.s80.c4 li p,.s80.c5 li h3,.s80.c5 li p{grid-column:2;margin:0}.s80.c4 .pp-n,.s80.c5 .pp-n{grid-row:span 2}.s80.c4 li::after,.s80.c5 li::after{content:none !important}
.pp-q.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
.g73 li,.g94 li,.g51 li,.g72 li,.pp-ilist li,.pp-q li,.pp-p article{padding-left:24px;padding-right:24px}
.l42 li,.l66 li,.l25 li,.l07 li{padding:16px 20px}
.g20 li{padding:20px 4px 6px}
@media(max-width:760px){.pp-st,.pp-st.c4,.pp-st.c3,.s60.c4,.pp-q.c4{grid-template-columns:1fr !important}.st71{padding:20px}.st71 li{padding:18px !important}.pp-big{font-size:28px}
  .g73 li,.g94 li,.g51 li,.g72 li,.pp-ilist li,.pp-q li,.pp-p article,.st90 li,.s60.c4 li,.s80.c4 li,.s80.c5 li{padding-left:18px;padding-right:18px}}
/* 10-08 사장님(desk 중간 띠): 반쪽 색 덩어리 분할 금지 — 한 판 단색 띠(노랑 또는 진한 색) · PC 는 전화번호 버튼 하나 */
.pp-cta .pp-cta-sms.mo-only{display:none}
.c30{background:var(--pp-acc);color:#fff;border:0}.c30 .pp-cta-tel{background:var(--pp-hl);color:#191919}.c30 .pp-cta-sms{border-color:#fff;color:#fff;background:transparent}
.c04{background:var(--pp-hl);color:#191919;padding:30px 36px;box-shadow:none}.c04 .pp-cta-tx{padding:0}.c04 .pp-cta-b{background:transparent;padding:0;align-self:center}.c04 .pp-cta-tel{background:#191919;color:#fff}
.c15{background:var(--pp-hl);color:#191919;border-radius:24px}.c15 .pp-cta-tel{background:var(--pp-acc);color:#fff}
@media(max-width:768px){.pp-cta .pp-cta-sms.mo-only{display:inline-flex}.c04 .pp-cta-b{padding:0}}
/* 3D 아이콘 배지 · 이미지 섹션 */
.pp-has3d{position:relative;padding-left:92px;min-height:76px}.pp-has3d .pp-3d{position:absolute;left:0;top:0;width:76px;height:76px;border-radius:22px;box-shadow:0 10px 24px rgba(20,27,46,.14)}
.pp-fig{margin:0;border-radius:24px;overflow:hidden;background:var(--pp-soft)}.pp-fig img{display:block;width:100%;height:100%;object-fit:cover}
.pp-split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.pp-split .pp-fig{aspect-ratio:4/3}
.sp21,.sp49,.sp59{grid-template-columns:1.05fr 1fr}.sp21 .pp-fig,.sp49 .pp-fig,.sp59 .pp-fig{aspect-ratio:4/5}
.sp56 .pp-fig{border-radius:24px 120px 24px 24px}.sp62 .pp-fig{border-radius:120px 24px 24px 24px}
.sp03 .pp-fig{border:6px solid var(--pp-hl)}.sp27 .pp-fig{border-bottom:8px solid var(--pp-acc)}  /* 그림자 대신 테두리 — 기준선 밖으로 나가지 않게(섹션폭) */
.pp-ilist{display:grid;gap:14px}.pp-ilist li{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;background:#fff;border-radius:18px;padding:18px 20px;border:1px solid var(--pp-line)}
.pp-ban .pp-fig{position:relative;aspect-ratio:16/7;margin-bottom:22px}.pp-ban .pp-fig img{object-position:50% 0%}  /* 머리 잘림 없게(인물 잘림 검사) */
.bn19 .pp-fig{aspect-ratio:16/7}.pp-ban-cap{position:absolute;left:0;right:0;bottom:0;background:rgba(255,255,255,.94);padding:18px 28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;border-top:4px solid var(--pp-hl)}  /* 겹친 띠 = 사진 가로 전체(기준선 맞춤 · 섹션폭) */
.pp-ban-cap b{font-size:20px;font-weight:900}.pp-ban-cap span{font-size:15px;line-height:1.6;color:#3a3a3a}
.sp59 .pp-fig{border-radius:24px 24px 120px 24px}.bn11 .pp-fig{aspect-ratio:16/6;border-radius:120px 120px 24px 24px}
.bn89 .pp-g li,.bn19 .pp-g li,.bn11 .pp-g li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:22px}
@media(max-width:900px){
  .pp-split,.sp21,.sp49,.sp59{grid-template-columns:1fr;gap:20px}.pp-split .pp-fig{aspect-ratio:4/3}.sp62 .pp-fig,.sp03 .pp-fig,.sp49 .pp-fig{order:-1}
  .sp03 .pp-fig,.sp27 .pp-fig{box-shadow:none}.pp-ban .pp-fig,.bn19 .pp-fig{aspect-ratio:4/3}
  .pp-ban-cap{position:static;max-width:none;box-shadow:none;border-radius:0;padding:16px 4px 0}.bn19 .pp-fig{overflow:visible}
  .pp-has3d{padding-left:68px;min-height:56px}.pp-has3d .pp-3d{width:56px;height:56px;border-radius:16px}
}
@media(max-width:900px){
  .pp-g,.pp-g.c4,.pp-g.c2,.pp-g.c5,.pp-g.c6,.g92,.pp-story,.s80,.l42,.l66,.pp-ldark ul,.pp-p,.p44,.pp-b,.pp-lead4 ul,.k06,.k45,.k46,.k95,.pp-q,.pp-q.c2,.pp-q.c4{grid-template-columns:1fr !important}
  .s60,.s60.c4,.s60.c3,.s60.c6{grid-template-columns:1fr !important;padding-left:8px}.s60::before{left:29px;right:auto;top:0;bottom:0;border-top:0;border-left:3px solid var(--pp-hl)}
  .s60 li{grid-template-columns:44px 1fr;gap:4px 14px}.s60 li h3,.s60 li p{grid-column:2}.s60 .pp-dot{grid-row:span 2}
  .s80 li:not(:last-child)::after{content:"↓";right:50%;top:auto;bottom:-24px;transform:translateX(50%)}
  .s53 li{grid-template-columns:64px 1fr;gap:14px}.s53 .pp-big{font-size:36px}
  .s91 li{grid-template-columns:1fr}.s91 .pp-chev{grid-row:auto;width:120px}
  .g87 li{grid-template-columns:52px 1fr;gap:12px}.g87 .pp-n{font-size:24px}
  .p54 article{grid-template-columns:1fr}.p54 article ul{grid-column:1}.p54 h3{grid-row:auto}.pp-vs{margin:0 auto}
  .b02 li{grid-template-columns:1fr;gap:8px}
  .pp-st,.pp-st.c3{grid-template-columns:1fr 1fr}.st71 li:nth-child(odd){border-left:0;padding-left:0}
  .pp-cta,.c15{flex-direction:column;align-items:stretch;text-align:center;padding:24px 20px;border-radius:22px}.pp-cta-b{justify-content:center}.pp-cta-t{font-size:19px}
  .c04 .pp-cta-tx{padding:22px 20px 0}.c04 .pp-cta-b{padding:16px 20px 22px}
  .b38 li{padding:24px 22px}.pp-lead4-a{padding:24px}
}
@media(max-width:900px){.k06,.k95{grid-template-columns:1fr 1fr !important;gap:12px}.k06 .pp-thi{aspect-ratio:16/9}.k06 .pp-thi .pp-ico{width:46px;height:46px;border-radius:14px}.k06 .pp-lt{padding:12px 14px 2px;font-size:15.5px}.k06 .pp-go{padding:0 14px 14px;font-size:13.5px}.k95 a{padding:16px}}
@media(max-width:560px){.pp-st,.pp-st.c3{grid-template-columns:1fr}.st71 li{border-left:0;padding-left:0}.pp-cmp tbody th{width:84px}}
/* ══ 10-08 parts_lib 점검(부품 사용 규칙 1 · 2 · 4 · 5 · 6) — 아래가 앞 규칙을 덮는다 ══════════════════════ */
/* 규칙 1 칸 배열 — 본문 40자 넘는 칸 = PC 2열 · 3칸은 1열 줄 · 6칸은 2×3 · 짧은 칸(.short)만 3열 · 모바일 1열 */
.pp-g.c3,.pp-q.c3,.pp-st.c3{grid-template-columns:1fr !important}
.pp-g.c6{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.pp-g.c3.short,.pp-g.c6.short,.pp-st.c3.short:not(.st23){grid-template-columns:repeat(3,minmax(0,1fr)) !important}  /* 손님 말(.pp-q)은 물음 + 답이라 늘 긴 칸 */
.pp-st.c3:not(.short):not(.st23) li{grid-template-columns:200px 1fr;column-gap:28px;align-items:start}.pp-st.c3:not(.short):not(.st23) .pp-big{grid-row:span 2}.pp-st.c3:not(.short):not(.st23) h3,.pp-st.c3:not(.short):not(.st23) p{grid-column:2}
.st71.c3:not(.short) li{border-left:1px solid rgba(255,255,255,.14) !important}
.s80.c3:not(.short),.s80.c6:not(.short){grid-template-columns:1fr !important;gap:14px}.s80.c3:not(.short) li,.s80.c6:not(.short) li{grid-template-columns:52px 1fr;column-gap:16px;padding:22px 24px}
.s80.c3:not(.short) li h3,.s80.c3:not(.short) li p,.s80.c6:not(.short) li h3,.s80.c6:not(.short) li p{grid-column:2;margin:0}.s80.c3:not(.short) .pp-n,.s80.c6:not(.short) .pp-n{grid-row:span 2}.s80.c3:not(.short) li::after,.s80.c6:not(.short) li::after{content:none !important}
.l07.long{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.l07.long.odd{grid-template-columns:1fr !important}
.l58{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.l58.odd{grid-template-columns:1fr}.l58 li{padding:14px 24px;align-items:center}
/* 판 꼴 ul · ol 의 안쪽 여백이 `.pp-sec ul{padding:0}`(더 센 선택자)에 지워지던 것 되살림 — 글이 판 끝에 붙던 원인 */
.pp-sec ul.l39{padding:22px 26px}.pp-sec ul.l40{padding:26px 28px}.pp-sec ul.b79{padding:10px 28px}.pp-sec ul.st71{padding:28px}.pp-sec ul.l64{padding:8px 24px}.pp-sec ul.l34{padding:16px 24px}
.pp-sec ol.s41{margin-left:8px;padding-left:28px}.q2 .pp-qq{padding:16px 24px}
/* 04-60 가로 줄 위 점 — 칸마다 흰 상자 · 긴 본문 3칸은 세로 길 */
.s60{padding-top:0}.s60 li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:24px}.s60::before{top:46px}
.s60.c3:not(.short){grid-template-columns:1fr !important;padding-left:8px;gap:18px}
.s60.c3:not(.short) li,.s60.c5 li,.s60.c6 li{grid-template-columns:44px 1fr;gap:4px 16px}.s60.c3:not(.short) li h3,.s60.c3:not(.short) li p{grid-column:2}.s60.c3:not(.short) .pp-dot{grid-row:span 2}
.s60.c3:not(.short)::before,.s60.c5::before,.s60.c6::before{left:46px;right:auto;top:0;bottom:0;border-top:0;border-left:3px solid var(--pp-hl)}
/* 규칙 2 맨글자 h3 금지 — 바탕 위에 떠 있던 꼴을 칸마다 흰 상자(둥근 모서리 · 안쪽 여백 PC 24 · 모바일 18)로 */
.g87{gap:12px}.g87 li,.g87 li:first-child{background:#fff;border:1px solid var(--pp-line);border-left:4px solid var(--pp-acc);border-radius:18px;padding:22px 24px}
.g20 li{background:#fff;border:1px solid var(--pp-line);border-top:4px solid var(--pp-acc);border-radius:18px;padding:22px 24px}
.s41 li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:22px 24px}
.s53{display:grid;gap:14px}.s53 li,.s53 li:last-child{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:24px}
.b12 li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:24px}
.b01 li{border:1px solid var(--pp-line);border-top:6px solid var(--pp-acc);border-radius:18px;padding:24px}
.st23{border-top:0;gap:12px !important}.st23 li{background:#fff;border:1px solid var(--pp-line);border-radius:18px;padding:22px 24px}
.l64{background:#fff;border:1px solid var(--pp-line);border-radius:20px;padding:8px 24px;gap:0}.l64 li:last-child{border-bottom:0}
.l09{gap:10px}.l09 li{background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:16px 24px;align-items:center}
.l34{background:#fff;border:1px solid var(--pp-line);border-left:4px solid var(--pp-hl);border-radius:18px;margin-left:0;padding:16px 24px}.l34 .pp-n{margin-left:0}
/* 07- 안내 꼴(notes) — 접는 칸 없이 펼친 상자(규칙 6-3) · 2 · 4칸 PC 2열 · 3칸 1열 줄(짧으면 3열) · 6칸 2×3(짧으면 3열) · 5칸 1열 · 모바일 1열 */
.pp-nt{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;border:0}.pp-nt.c1,.pp-nt.c3,.pp-nt.c5,.pp-nt.c7{grid-template-columns:1fr}.pp-nt.c3.short,.pp-nt.c6.short,.pp-nt.c9.short{grid-template-columns:repeat(3,minmax(0,1fr))}
.pp-nt li{display:grid;gap:8px;align-content:start;background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:24px}.pp-nt li h3{margin:0}.pp-nt li p{padding:0}
.pp-nt .pp-n{width:32px;height:32px;border-radius:50%;background:var(--pp-acc);color:#fff;font-size:15px}
.nt0 li{background:var(--pp-soft);border:0}
.nt1 li{border-radius:14px}
.nt2 li{border-top:3px solid var(--pp-acc);border-radius:0 0 14px 14px}
.nt3 li{border:0;border-left:6px solid var(--pp-hl);border-radius:18px;box-shadow:0 6px 18px rgba(20,27,46,.06)}.nt3 .pp-n{background:none;color:var(--pp-acc);width:auto;height:auto;font-size:18px;justify-content:flex-start}
.nt4 li{border-top:8px solid var(--pp-hl)}
.nt5 li{border:1.5px solid var(--pp-acc)}
.nt6 li{border-top:8px solid var(--pp-acc)}
.nt7 li{border-radius:22px}.nt7 h3{display:flex;gap:10px;align-items:center}.nt7 h3::before{content:"";flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:var(--pp-hl);box-shadow:0 0 0 4px var(--pp-soft)}
.nt8 li{border:0;border-left:6px solid var(--pp-hl);border-radius:0 14px 14px 0;box-shadow:0 4px 14px rgba(20,27,46,.05)}
.nt9 li{counter-increment:nt;background:var(--pp-soft);border:0;border-radius:18px}.nt9 li::before{content:counter(nt,decimal-leading-zero);font-size:22px;font-weight:900;line-height:1;color:var(--pp-acc)}
/* 링크 꼴 — 칸마다 흰 상자 · a 가 상자 전체 · 같은 줄 높이 같게 · 「자세히 보기 →」 는 상자 안 · 개수별 열(마지막 줄 한 칸 없게) */
.pp-k{align-items:stretch}.pp-k li{display:flex}.pp-k li>a{flex:1 1 auto;min-width:0}
.pp-k.c2,.pp-k.c4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.pp-k.c3,.pp-k.c5,.pp-k.c6,.pp-k.c9{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.pp-k.c7,.pp-k.c8{grid-template-columns:repeat(4,minmax(0,1fr)) !important}.pp-k.c1{grid-template-columns:1fr !important}
.k06 a{grid-template-rows:auto auto 1fr;gap:10px;padding:24px;border:1px solid var(--pp-line);box-shadow:none}.k06 .pp-thi{aspect-ratio:auto;background:none;justify-content:flex-start}.k06 .pp-thi .pp-ico{width:46px;height:46px;border-radius:14px}.k06 .pp-thi svg{width:22px;height:22px}
.k06 .pp-lt,.k06 .pp-go{padding:0}.k06 .pp-go{align-self:end;color:var(--pp-acc);font-weight:700}
.k45 a{grid-template-columns:46px 1fr;gap:4px 16px;padding:20px 24px}.k45 .pp-thi{width:auto;height:auto;background:none}
.k46{gap:12px 16px}.k46 a{background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:20px 24px;gap:12px}
.k48 a{padding:16px 24px}.k95 a{padding:24px;grid-template-rows:auto 1fr}.k95 .pp-go{align-self:end}
/* 안쪽 여백 PC 24 */
.g70 li{padding:30px 24px}.g92 li{padding:24px}.g100 li{padding:24px;border-top:8px solid var(--pp-hl);gap:10px}.g100 h3{background:none;padding:0}.g100 p{padding:0}  /* 머리 띠 = 위 굵은 띠(h3 색 띠는 글이 칸 끝에 붙음 · 검사 ⑧) */
.pp-st.st23{grid-template-columns:1fr !important}
.bn89 .pp-g li,.bn19 .pp-g li,.bn11 .pp-g li{padding:24px}.pp-story li{padding:22px 24px}
.l42 li,.l66 li,.l25 li,.l07 li{padding:18px 24px}
.pp-qa{padding:16px 24px}
.p43 article{padding:0 !important}.p43 h3{background:transparent;color:var(--pp-acc);border-right:1px solid var(--pp-line);padding:24px}.p43 article>p,.p43 article>ul{padding-left:24px;padding-right:24px}
.p08 article h3{padding:7px 24px}
/* 번호 배지는 상자 안쪽에(테두리에 걸치거나 밖으로 나가지 않게 · 10-08 사장님 room 번호 목록) — 10-55 탭 머리를 상자 안 윗머리 배지로 */
.b55 li{margin-top:0;border-radius:18px}.b55 .pp-tab{position:static;display:inline-block;width:max-content;border-radius:10px;margin-bottom:12px}
/* 10-17 큰 상자 + 세 칸 — 세 칸 가로(긴 본문 3열) 대신 왼쪽 큰 상자 · 오른쪽 세 칸 세로(PC 2열) */
.pp-lead4{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.pp-lead4-a{margin-bottom:0;display:flex;flex-direction:column;justify-content:center}.pp-lead4 ul{grid-template-columns:1fr !important;gap:14px}
/* 글자 위계 — 칸 안 큰 글 < h2(PC 34 · 모바일 25) */
.g24 .pp-ghost{font-size:30px;color:var(--pp-acc);top:18px;right:20px}.g24 h3{padding-right:60px}
.pp-qm{font-size:30px;line-height:1}
.s53 .pp-big,.b12 .pp-big{font-size:30px}
/* 규칙 4 색 — 한 판 한 색(반쪽 색칠 분할 없음) · 변수 색만 */
.p36 article+article{background:#fff}
/* 표 꼴 전부(03-85 · 03-37 · 03-69) — 머리줄 한 색(강조색 + 검정 글씨 · 칸마다 색 바꾸지 않음) · 바깥 위 모서리만 둥글게 · 칸 사이 흰 틈 없음 */
.pp-cmp,.pp-t{border-collapse:separate;border-spacing:0;border-radius:0;overflow:visible;background:#fff}
.pp-cmp thead th,.pp-cmp thead th:nth-child(2),.t37 thead th,.t69 thead th{background:var(--pp-hl);color:#191919;border-bottom:1px solid var(--pp-line)}
.pp-cmp thead th:first-child,.pp-t thead th:first-child{border-top-left-radius:16px}.pp-cmp thead th:last-child,.pp-t thead th:last-child{border-top-right-radius:16px}
.pp-cmp th,.pp-cmp td,.pp-t th,.pp-t td{border-bottom:1px solid var(--pp-line)}.pp-cmp tbody tr>*:first-child,.pp-t tbody tr>*:first-child{border-left:1px solid var(--pp-line)}.pp-cmp tbody tr>*:last-child,.pp-t tbody tr>*:last-child{border-right:1px solid var(--pp-line)}
/* 규칙 5 사진 + 글 — PC 는 사진 높이 = 글 높이(사진만 길게 늘어지지 않게) · 사진 위 흰 덮개 없음 */
@media(min-width:901px){.pp-split,.sp21,.sp49,.sp59{align-items:stretch}.pp-split .pp-fig,.sp21 .pp-fig,.sp49 .pp-fig,.sp59 .pp-fig{aspect-ratio:auto;min-height:240px}.pp-split .pp-side{align-self:center}}
.pp-split .pp-fig{position:relative}.pp-split .pp-fig img{position:absolute;inset:0;object-position:50% 25%}
.bn19 .pp-fig{aspect-ratio:auto;overflow:visible;background:none}.bn19 .pp-fig img{height:auto;aspect-ratio:16/7;border-radius:24px}
.pp-ban-cap{position:static;margin-top:14px;background:var(--pp-soft);border:0;border-radius:18px;padding:18px 24px}
@media(max-width:900px){.bn19 .pp-fig img{aspect-ratio:4/3}}
/* 규칙 6 중간 CTA 모바일 — 한 판 단색 띠 안에 전화 · 문자 두 버튼 같은 크기 · 위아래 꽉 찬 폭 */
@media(max-width:768px){.pp-cta-b{display:grid;grid-template-columns:1fr;gap:10px;width:100%}.pp-cta-b a{width:100%;box-sizing:border-box;padding:0 18px}}
/* 모바일 — 1열 · 안쪽 여백 18 이상 · 큰 글 < h2 */
@media(max-width:900px){
  .pp-lead4{grid-template-columns:1fr}
  .pp-st.c3:not(.short):not(.st23) li{grid-template-columns:1fr !important}.pp-st.c3:not(.short):not(.st23) .pp-big{grid-row:auto}.pp-st.c3:not(.short):not(.st23) h3,.pp-st.c3:not(.short):not(.st23) p{grid-column:auto}
  .s60 li{padding:18px}.s60::before,.s60.c3:not(.short)::before,.s60.c5::before,.s60.c6::before{left:40px}.pp-sec ul.st71{padding:20px}
  .pp-g.c6,.pp-g.c3.short,.pp-g.c6.short,.pp-st.c3.short:not(.st23){grid-template-columns:1fr !important}
  .pp-k,.pp-k.c1,.pp-k.c2,.pp-k.c3,.pp-k.c4,.pp-k.c5,.pp-k.c6,.pp-k.c7,.pp-k.c8,.pp-k.c9{grid-template-columns:1fr !important}.k06.c2,.k06.c4,.k06.c6,.k06.c8,.k95.c2,.k95.c4,.k95.c6,.k95.c8{grid-template-columns:1fr 1fr !important}
  .k06 a{padding:18px}.k06 .pp-lt,.k06 .pp-go{padding:0}.k95 a{padding:18px}.k45 a,.k46 a,.k48 a{padding:16px 18px}
  .p43 article{grid-template-columns:1fr}.p43 h3{grid-row:auto;border-right:0;border-bottom:1px solid var(--pp-line);padding:18px 18px 14px}.p43 article>p,.p43 article>ul{padding-left:18px;padding-right:18px}
  .l58{grid-template-columns:1fr}.l58 li{border-radius:18px}
  .pp-nt,.pp-nt.c3.short,.pp-nt.c6.short,.pp-nt.c9.short{grid-template-columns:1fr}
}
@media(max-width:768px){
  .pp-big,.s53 .pp-big,.b12 .pp-big,.st23 .pp-big{font-size:22px}.g87 .pp-n{font-size:22px}.g24 .pp-ghost{font-size:22px}.pp-qm{font-size:22px}
  .g87 li,.g20 li,.s41 li,.s53 li,.s53 li:last-child,.b12 li,.b01 li,.st23 li,.g70 li,.g92 li,.bn89 .pp-g li,.bn19 .pp-g li,.bn11 .pp-g li,.pp-story li{padding-left:18px;padding-right:18px}
  .g100 li{padding:18px}.l64,.l34,.l09 li,.l42 li,.l66 li,.l25 li,.l07 li,.l58 li{padding-left:18px;padding-right:18px}
  .pp-qa{padding:14px 18px}.pp-nt li{padding:18px}.pp-ban-cap{padding:16px 18px}
}
/* 10-08 ee-3d hub · room 화면 지적 */
/* 03-85 비교 — 표 대신 두 장 비교 카드(머리 띠 = 강조색 · PC 나란히 줄 맞춤 · 모바일 위아래) */
.pp-cmpc{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.pp-cmpc article{display:grid;grid-template-rows:subgrid;row-gap:0;background:#fff;border:1px solid var(--pp-line);border-radius:18px;overflow:hidden}
.pp-cmpc h3{margin:0;padding:16px 24px;background:var(--pp-hl);color:#191919}
.pp-cmpc article>p{margin:0;padding:14px 24px;border-bottom:1px solid var(--pp-line)}.pp-cmpc article>p:last-child{border-bottom:0}
.pp-cmpc-i{display:flex;gap:8px;align-items:flex-start}.pp-cmpc-i svg{flex:none;margin-top:5px;color:var(--pp-acc)}.pp-cmpc-i:empty{display:none}
@media(max-width:760px){.pp-cmpc{grid-template-columns:1fr;row-gap:14px}.pp-cmpc article{grid-template-rows:none;grid-row:auto !important}.pp-cmpc h3,.pp-cmpc article>p{padding-left:18px;padding-right:18px}}
/* 일반 표(03-37 · 03-69 · pp-t) — 모바일은 줄마다 카드 한 장(머리 = 첫 칸 · 칸 이름은 data-th 로 위에) · 칸고르기 ⑤ */
@media(max-width:600px){
  .pp-t thead{display:none}.pp-t,.pp-t tbody,.pp-t tr,.pp-t th,.pp-t td{display:block;width:100%;box-sizing:border-box}
  .pp-t{background:transparent}.pp-t caption{display:block;text-align:left;margin-bottom:10px}
  .pp-t tr{background:#fff;border:1px solid var(--pp-line);border-radius:16px;overflow:hidden;margin-bottom:12px}
  .pp-t tbody tr>*,.pp-t tbody tr>*:first-child,.pp-t tbody tr>*:last-child{border:0;padding:12px 18px}
  .pp-t tbody th{background:var(--pp-hl);color:#191919}.pp-t tbody tr>td:not(:first-child){border-top:1px solid var(--pp-line)}
  .pp-t td::before{content:attr(data-th);display:block;font-size:13px;font-weight:800;color:var(--pp-acc);margin-bottom:2px}
}
/* 10-17 — 큰 상자가 오른쪽 세 칸 높이만큼 늘어나 아래가 텅 빔(ee-3d 10-08) → 노란 01 상자 + 세 칸을 고른 2×2 네 칸으로(ul 은 자리만 넘김) */
.pp-lead4{grid-template-columns:1fr 1fr !important;gap:16px;align-items:stretch}.pp-lead4 ul{display:contents}
.pp-lead4-a{padding:26px 28px;border-radius:18px}.pp-lead4-a h3{font-size:19px}.pp-lead4-a p{font-size:16px}.pp-lead4 li{border-radius:18px;padding:26px 28px}
@media(max-width:900px){.pp-lead4{grid-template-columns:1fr !important}.pp-lead4-a,.pp-lead4 li{padding:22px 20px}}
/* 10-17 큰 상자 — 번호 · 글 모두 왼쪽 위부터(번호만 가운데 · 글이 아래로 뜨지 않게) */
.pp-lead4-a{justify-content:flex-start;align-items:flex-start;text-align:left}.pp-lead4-a .pp-n{align-self:flex-start;justify-content:flex-start}
/* 펼친 상자 세 칸 — PC 3열(가로 전체 폭 상자 3개로 오른쪽이 비지 않게) · 모바일 1열 */
@media(min-width:901px){.pp-nt.c3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 10-79 공책 줄 무늬 없앰 — 글자 가운데를 지나 취소선처럼 보임 */
.b79{background-image:none}
/* 순서 없는 목록에 쓴 단계 부품(04-xx) — 「N단계 · 01」 배지 대신 체크 동그라미 */
.pp-ck{display:inline-flex !important;align-items:center;justify-content:center}
.s91 .pp-chev.pp-ck{clip-path:none;width:44px;height:44px;border-radius:50%;justify-self:start}ul.s91 li{grid-template-columns:44px 1fr}
/* 체크 꼴(ul.pp-s) — 동그라미는 왼쪽 한 칸 · 제목과 본문은 오른쪽 넓은 칸(모바일에서 본문이 동그라미 아래 좁은 열에 갇혀 세로로 꺾이지 않게 · ee-3d 10-08 칸고르기 ⑧) */
ul.pp-s li{grid-template-columns:44px minmax(0,1fr) !important;column-gap:16px}ul.pp-s li>.pp-ck{grid-column:1 !important;grid-row:1 / span 2 !important;width:44px !important;height:44px;align-self:start}
ul.pp-s li>h3,ul.pp-s li>p,ul.pp-s li>div{grid-column:2 !important}
/* 06-78 — 큰 상자가 높이만 크고 글은 두 줄이라 비어 보임 → 단계 목록 위 띠 + 아래 2열 */
.pp-story{grid-template-columns:1fr;gap:16px}.pp-story blockquote{padding:24px 30px}.pp-story ul{grid-template-columns:1fr 1fr}
@media(max-width:900px){.pp-story ul{grid-template-columns:1fr}}
/* 10-02 — 왼쪽 꼬리표 + 오른쪽 한 줄이라 오른쪽이 비어 보임 → 2열 카드(제목 위 · 본문 아래) */
.b02{grid-template-columns:1fr 1fr}.b02 li{grid-template-columns:1fr;gap:8px}
/* 03-54 — 왼쪽 제목 칸 아래가 비지 않게 PC 2열 카드(제목 위 · 본문 아래) */
.p54{grid-template-columns:1fr 1fr}.p54 article{display:block}.p54 article ul{margin-top:12px}

/* ── 퍼스트머니 테마(11 로즈 핑크) — 버튼 · 포인트 = 메인 색 + 흰 글, 옅은 포인트 = 형광 틴트 ───────────────────────── */
:root{--fm-main:#D1336F;--fm-hl:#F5D2DF;--fm-light:#FCF3F6;--fm-dark:#421B36;--pp-acc:var(--fm-main);--pp-hl:var(--fm-hl);--pp-soft:var(--fm-light)}   /* 부품 색 = 사이트 테마색 */
.fm-logo{height:28px;width:auto;display:block}
.header-title a{align-items:center}
.btn-header-cta{background:var(--fm-main) !important;border-color:var(--fm-main) !important;color:#fff !important}
.c-btn.c-tel{background:var(--fm-main) !important;border-color:var(--fm-main) !important;color:#fff !important}
.c-btn.c-sms{background:#fff !important;border:2px solid var(--fm-main) !important;color:var(--fm-main) !important}
.b-cap{background:var(--fm-main) !important;color:#fff !important}   /* B판 카드 밑 띠 = 사이트 테마색(검정 금지 · 테마색 검사 10-08) */
.cta-section{background:var(--fm-main) !important;background-image:none !important}.cta-section .cta-title,.cta-section .cta-desc{color:#fff !important}   /* 하단 CTA = 사이트 테마색 단색 띠(퍼스트머니 꼴) */
.fm-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.fm-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-width:260px;min-height:60px;padding:0 28px;border-radius:999px;font-weight:800;font-size:20px;text-decoration:none;box-sizing:border-box}
.fm-cta-tel{background:#fff;color:var(--fm-main)}.fm-cta-sms{background:transparent;color:#fff;border:2px solid #fff}
.fm-cta-band{margin:0;max-width:1920px;margin-inline:auto}.fm-cta-band img{width:100%;aspect-ratio:3/1;object-fit:cover;object-position:70% 30%;display:block}
.fm-steps-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:start}
.fm-steps-fig{margin:0;border-radius:16px;overflow:hidden}.fm-steps-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media(max-width:900px){.fm-steps-row{grid-template-columns:1fr;gap:16px}.fm-cta-band img{aspect-ratio:2/1}}
@media(max-width:768px){.fm-logo{height:24px}.fm-cta-btn{min-width:0;width:100%;font-size:18px;min-height:56px}}

/* 모바일 히어로 = 사람 가운데 세로 4:5(hero-m.webp) */
.hm-pic{display:block}@media(max-width:760px){.hm-pic img{width:100%;height:auto !important;aspect-ratio:4/5 !important;object-fit:cover;object-position:50% 30%}.hm-pic{height:auto}figure:has(.hm-pic){aspect-ratio:auto !important;height:auto !important;max-height:none !important}}
