/*! care79-ui.css — care79 공통 디자인 컴포넌트 (owner: Bot1 design lead)
 * 배포 위치(각 사이트 동일 사본): /assets/care79-ui.css  (+ /assets/care79-ui.js)
 * 범위 규칙(2026-10-05 세션3 개정):
 *   - 컴포넌트(.c79-*)는 "html .c79-x"(0,1,1) — body 클래스 없이도 동작(공통 헤더·푸터가 페이지 전환 전에도 바르게 보이게).
 *     지역 사이트 Tailwind CDN preflight([type=button] 0,1,0 등, <head> 끝 주입)보다 우선한다.
 *   - 바탕 규칙(글꼴·배경·h1~h3·img·focus)은 body.c79 를 단 페이지에서만(옵트인, Bot2/Bot3 템플릿 전환 시).
 *   - 기존 마크업/텍스트를 숨기는 규칙은 없다. 숨김은 오직 사용자가 여닫는 <details>/메뉴, 그리고 반응형 중복 버튼(PC·모바일 중 하나)뿐.
 * 이 파일을 사이트별로 수정하지 말 것. 변경은 design/ 원본 → 전 사이트 동일 배포(sha256 일치).
 */

/* ---------- 1. tokens ---------- */
:root{
  --c79-brand:#0E4B45; --c79-brand-hover:#0A3833; --c79-brand-soft:#E6EFEC;
  --c79-ink:#17251F; --c79-text:#3A4540; --c79-muted:#5B6660;
  --c79-bg:#FAF8F4; --c79-surface:#FFFFFF; --c79-sand:#F2EDE3; --c79-line:#E4DFD3;
  --c79-dark:#17251F; --c79-on-dark:#E9E6DF;
  --c79-font:'Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  --c79-fs-sm:.875rem; --c79-fs-base:1.0625rem; --c79-fs-lg:1.1875rem;
  --c79-fs-h3:1.1875rem; --c79-fs-h2:clamp(1.5rem,1.2rem + 1.2vw,2rem);
  --c79-fs-h1:clamp(2rem,1.45rem + 2.4vw,3.25rem);
  --c79-s1:4px; --c79-s2:8px; --c79-s3:12px; --c79-s4:16px; --c79-s5:24px;
  --c79-s6:32px; --c79-s7:48px; --c79-s8:64px; --c79-s9:96px;
  --c79-gutter:20px; --c79-max:1200px; --c79-max-text:760px;
  --c79-r-sm:8px; --c79-r-md:16px; --c79-r-lg:24px; --c79-r-pill:999px;
  --c79-shadow-1:0 1px 2px rgba(23,37,31,.06);
  --c79-shadow-2:0 8px 24px rgba(23,37,31,.08);
  --c79-header-h:64px;
  --c79-focus:0 0 0 3px #fff,0 0 0 6px var(--c79-brand);
}
@media (min-width:768px){:root{--c79-gutter:32px;--c79-fs-base:1.125rem;--c79-header-h:76px}}

/* ---------- 2. base (body.c79) ---------- */
.c79{margin:0;font-family:var(--c79-font);font-size:var(--c79-fs-base);line-height:1.75;color:var(--c79-text);
  background:var(--c79-bg);letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
.c79 *,.c79 *::before,.c79 *::after{box-sizing:border-box}
.c79 img{max-width:100%;height:auto}
.c79 a{color:inherit}
.c79 :where(h1,h2,h3){color:var(--c79-ink);line-height:1.3;letter-spacing:-.02em;margin:0}
.c79 :where(section[id],[id].c79-topic,h2[id]){scroll-margin-top:calc(var(--c79-header-h) + 16px)}
/* 모바일 하단 상담바가 본문·푸터를 가리지 않게: 바가 있는 페이지는 body에 c79--has-bar */
@media (max-width:767.98px){.c79.c79--has-bar{padding-bottom:var(--c79-bar-pad,calc(68px + env(safe-area-inset-bottom,0px)))} /* JS가 실측값(안전영역 포함)으로 --c79-bar-pad 지정 */}

html .c79-container{width:100%;max-width:var(--c79-max);margin:0 auto;padding:0 var(--c79-gutter)}
html .c79-narrow{max-width:var(--c79-max-text)}


/* ---------- 3. focus / motion ---------- */
/* D5: 초점·앵커 이동 시 고정 헤더/하단 전화바에 가리지 않게(전역 — 이 CSS 를 부르는 페이지 전부) */
html{scroll-padding-top:calc(var(--c79-header-h) + 8px)}
@media (max-width:767.98px){html{scroll-padding-bottom:calc(var(--c79-bar-pad,80px) + 16px)}}
.c79 :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--c79-brand);outline-offset:2px;border-radius:4px}
html :where(.c79-header,.c79-adbar,.c79-svcgrid,.c79-callout) :where(a,button,summary):focus-visible{outline:3px solid var(--c79-brand);outline-offset:2px;border-radius:4px}
html :where(.c79-footer,.c79-bar) :where(a,button,summary):focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:no-preference){html:has(body.c79){scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){.c79 *,.c79 *::before,.c79 *::after{transition:none!important;animation:none!important}}

/* ---------- 4. buttons ---------- */
html .c79-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--c79-s2);min-height:48px;padding:0 var(--c79-s5);
  border-radius:var(--c79-r-sm);border:1px solid transparent;font:inherit;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;
  cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
html .c79-btn--primary{background:var(--c79-brand);color:#fff}
html .c79-btn--primary:hover{background:var(--c79-brand-hover)}
html .c79-btn--ghost{background:var(--c79-surface);color:var(--c79-ink);border-color:var(--c79-line)}
html .c79-btn--ghost:hover{border-color:var(--c79-brand);color:var(--c79-brand)}
html .c79-btn--lg{min-height:56px;padding:0 var(--c79-s6);font-size:1.0625rem}
html .c79-btn--block{width:100%}
html .c79-actions{display:flex;flex-wrap:wrap;gap:var(--c79-s3)}
@media (max-width:389.98px){html .c79-actions>*{flex:1 1 100%}html .c79-actions .c79-btn{width:100%}}

/* ---------- 5. 광고 및 협업문의 (모바일·태블릿 상단 얇은 줄 + PC 헤더 항목) ---------- */
/* 반응형 중복: <1024 는 .c79-adbar, ≥1024 는 .c79-header__ad (기존 adContactBar/adContactHeaderItem 패턴 유지) */
html .c79-adbar{background:var(--c79-sand);border-bottom:1px solid var(--c79-line);font-size:var(--c79-fs-sm);color:var(--c79-text)}
html .c79-adbar__inner{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0 var(--c79-s2)}
html .c79-adbtn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 var(--c79-s2);background:none;border:0;border-radius:var(--c79-r-sm);font:inherit;font-size:.875rem;font-weight:600;color:var(--c79-text);cursor:pointer}
html .c79-adbtn:hover{color:var(--c79-brand)}
html .c79-adbtn[aria-expanded="true"] .c79-caret{transform:rotate(180deg)}
html .c79-caret{display:inline-block;font-size:.65em;transition:transform .15s}
@media (min-width:1024px){html .c79-adbar{display:none}}
/* 팝오버: togglePhoneReveal()이 .hidden 을 여닫는다(사용자 조작 숨김). www 처럼 Tailwind 없는 곳도 동작하도록 직접 정의 */
html .c79-pop.hidden,html .c79-pop[hidden]{display:none}
html .c79-pop{position:absolute;right:0;top:100%;margin-top:var(--c79-s2);z-index:70;white-space:nowrap;background:var(--c79-surface);color:var(--c79-ink);border:1px solid var(--c79-line);border-radius:12px;box-shadow:var(--c79-shadow-2);padding:var(--c79-s1) var(--c79-s3)}
html .c79-pop a{display:inline-flex;align-items:center;min-height:44px;font-weight:800;font-size:1rem;color:var(--c79-ink);text-decoration:underline;text-underline-offset:3px}
html .c79-pop--inline{position:static;margin:0;box-shadow:none;border:0;background:none;padding:0}

/* ---------- 6. header + nav ---------- */
/* 메뉴 6개(간병인 찾기·간병인 일감 찾기·방문요양·병원회원 + 기존 재가복지 서비스·복지용구 대여·구입).
 * ≥1280: 가로 메뉴. <1280: '메뉴' 버튼(aria-expanded/aria-controls) 드롭다운. JS 없으면 헤더 아래 줄에 펼친 채로 둔다. */
html .c79-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--c79-line);font-family:var(--c79-font);color:var(--c79-text)}
@supports (backdrop-filter:blur(8px)){html .c79-header{background:rgba(255,255,255,.9);backdrop-filter:blur(8px)}}
html .c79-header .c79-container,html .c79-adbar .c79-container{max-width:1320px} /* 메뉴 6+전화+제휴가 1280~1440에서 한 줄 */
html .c79-header__inner{position:relative;display:flex;align-items:center;gap:var(--c79-s4);min-height:var(--c79-header-h)}
html .c79-brand{display:inline-flex;align-items:center;gap:var(--c79-s2);min-height:44px;margin-right:auto;text-decoration:none;font-weight:800;font-size:1.125rem;color:var(--c79-ink);letter-spacing:-.03em;min-width:0;flex:0 1 auto;white-space:nowrap}
@media (min-width:768px){html .c79-brand{font-size:1.3125rem}}
html .c79-brand__mark{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--c79-brand);color:#fff;display:inline-flex;align-items:center;justify-content:center}
html .c79-brand__mark svg{width:20px;height:20px}
html .c79-header__actions{display:flex;align-items:center;gap:var(--c79-s3);flex:0 0 auto}
html .c79-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:var(--c79-s1) var(--c79-s5)}
html .c79-nav__link{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--c79-s1);text-decoration:none;font-weight:600;font-size:.9375rem;color:var(--c79-text);white-space:nowrap}
html .c79-nav__link:hover,html .c79-nav__link[aria-current="page"]{color:var(--c79-brand)}
html .c79-nav__sep{width:1px;height:16px;background:var(--c79-line)}
html .c79-menu-btn{display:none;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;padding:0 var(--c79-s3);background:none;border:1px solid var(--c79-line);border-radius:var(--c79-r-sm);font:inherit;font-size:var(--c79-fs-sm);font-weight:700;color:var(--c79-ink);cursor:pointer}
html .c79-menu-btn__icon{width:18px;height:2px;background:currentColor;position:relative;display:inline-block}
html .c79-menu-btn__icon::before,html .c79-menu-btn__icon::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .15s}
html .c79-menu-btn__icon::before{top:-6px}html .c79-menu-btn__icon::after{top:6px}
html .c79-menu-btn[aria-expanded="true"] .c79-menu-btn__icon{background:transparent}
html .c79-menu-btn[aria-expanded="true"] .c79-menu-btn__icon::before{transform:translateY(6px) rotate(45deg)}
html .c79-menu-btn[aria-expanded="true"] .c79-menu-btn__icon::after{transform:translateY(-6px) rotate(-45deg)}
/* 헤더 전화상담(callBtn) — 모바일(<768)은 하단 전화바가 같은 역할(반응형 중복, 기존 패턴) */
html .c79-header__call{display:none;position:relative}
@media (min-width:768px){html .c79-header__call{display:inline-flex}}
html .c79-header__ad{display:none;position:relative}
@media (min-width:1024px){html .c79-header__ad{display:inline-flex}}
html .c79-btn--sm{min-height:44px;padding:0 var(--c79-s4);font-size:.9375rem;border-radius:var(--c79-r-pill)}

@media (max-width:1279.98px){
  .c79-js .c79-menu-btn{display:inline-flex}
  .c79-js .c79-nav{position:absolute;left:0;right:0;top:100%; /* 기준=헤더 컨테이너 패딩 박스(뷰포트 폭) */max-height:calc(100vh - var(--c79-header-h));overflow:auto;
    background:var(--c79-surface);border-bottom:1px solid var(--c79-line);box-shadow:var(--c79-shadow-2);padding:var(--c79-s2) var(--c79-gutter) var(--c79-s4)}
  .c79-js .c79-nav:not([data-open]){display:none} /* 사용자가 '메뉴'로 여닫는 숨김 */
  .c79-js .c79-nav .c79-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .c79-js .c79-nav .c79-nav__link{display:flex;min-height:52px;border-bottom:1px solid var(--c79-line);font-size:1.0625rem}
  .c79-js .c79-nav li:last-child .c79-nav__link{border-bottom:0}
  .c79-js .c79-nav .c79-nav__sep{display:none}
  html:not(.c79-js) .c79-header__inner{flex-wrap:wrap}
  html:not(.c79-js) .c79-nav{order:3;flex:1 1 100%}
  html:not(.c79-js) .c79-nav .c79-nav__list{flex-wrap:wrap;gap:0 var(--c79-s4)}
}
@media (min-width:768px) and (max-width:1279.98px){
  .c79-js .c79-nav .c79-nav__list{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--c79-s6)}
  .c79-js .c79-nav li:last-child .c79-nav__link{border-bottom:1px solid var(--c79-line)}
}
@media (min-width:1280px){html .c79-nav{margin-right:var(--c79-s2)}}

/* ---------- 7. sections / headings ---------- */
html .c79-section{padding:var(--c79-s8) 0}
html .c79-section--alt{background:var(--c79-surface);border-top:1px solid var(--c79-line);border-bottom:1px solid var(--c79-line)}
html .c79-section--sand{background:var(--c79-sand)}
@media (min-width:768px){html .c79-section{padding:var(--c79-s9) 0}}
html .c79-eyebrow{display:inline-block;margin:0 0 var(--c79-s3);font-size:var(--c79-fs-sm);font-weight:700;color:var(--c79-brand);letter-spacing:.02em}
html .c79-h1{font-size:var(--c79-fs-h1);font-weight:800;line-height:1.2}
html .c79-h2{font-size:var(--c79-fs-h2);font-weight:800;margin-bottom:var(--c79-s3)}
html .c79-h3{font-size:var(--c79-fs-h3);font-weight:700;margin:var(--c79-s6) 0 var(--c79-s3)}
html .c79-lead{font-size:var(--c79-fs-lg);color:var(--c79-muted);margin:0 0 var(--c79-s6);max-width:var(--c79-max-text)}
html .c79-section__head{margin-bottom:var(--c79-s6)}
html .c79-section__head .c79-lead{margin-bottom:0}

/* ---------- 8. hero (real photo) ---------- */
html .c79-hero{padding:var(--c79-s6) 0 var(--c79-s7)}
html .c79-hero__grid{display:grid;gap:var(--c79-s6);align-items:center}
html .c79-hero__title{font-size:var(--c79-fs-h1);font-weight:800;line-height:1.2;margin-bottom:var(--c79-s4)}
html .c79-hero__lead{font-size:var(--c79-fs-lg);color:var(--c79-muted);margin:0 0 var(--c79-s5);max-width:36em}
html .c79-hero__media{margin:0;position:relative}
html .c79-hero__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--c79-r-lg);background:var(--c79-sand)}
html .c79-hero__media figcaption{margin-top:var(--c79-s2);font-size:var(--c79-fs-sm);color:var(--c79-muted)}
html .c79-chips{list-style:none;margin:var(--c79-s5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--c79-s2)}
html .c79-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--c79-s3);border-radius:var(--c79-r-pill);background:var(--c79-surface);border:1px solid var(--c79-line);font-size:var(--c79-fs-sm);font-weight:600;color:var(--c79-text);text-decoration:none}
html a.c79-chip{min-height:44px}
html a.c79-chip:hover{border-color:var(--c79-brand);color:var(--c79-brand)}
@media (min-width:768px){html .c79-hero{padding:var(--c79-s8) 0 var(--c79-s9)}html .c79-hero__grid{grid-template-columns:1fr 1fr;gap:var(--c79-s7)}}
@media (min-width:1024px){html .c79-hero__grid{grid-template-columns:5fr 6fr}}

/* ---------- 9. service cards (재가복지/방문요양 · 병원동행 · 복지용구 대여) ---------- */
/* 모바일: 가로형 카드 3개가 한 화면에 함께 보임. 768+: 3열 세로 카드 */
html .c79-svc{list-style:none;margin:0;padding:0;display:grid;gap:var(--c79-s3)}
html .c79-svc__card{position:relative;display:grid;grid-template-columns:104px 1fr;align-items:center;gap:var(--c79-s4);height:100%;
  padding:var(--c79-s3);background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-md);box-shadow:var(--c79-shadow-1);transition:box-shadow .15s,border-color .15s}
html .c79-svc__card:hover{border-color:var(--c79-brand);box-shadow:var(--c79-shadow-2)}
html .c79-svc__img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--c79-r-sm);background:var(--c79-sand)}
html .c79-svc__title{font-size:1.125rem;font-weight:800;margin:0 0 2px}
html .c79-svc__title a{text-decoration:none}
html .c79-svc__title a::after{content:"";position:absolute;inset:0;border-radius:var(--c79-r-md)} /* 카드 전체 클릭 */
html .c79-svc__title a:focus-visible{outline:none}
html .c79-svc__card:has(a:focus-visible){outline:3px solid var(--c79-brand);outline-offset:2px}
html .c79-svc__desc{margin:0;font-size:.9375rem;line-height:1.6;color:var(--c79-muted)}
html .c79-svc__more{display:none;margin-top:var(--c79-s3);font-weight:700;font-size:.9375rem;color:var(--c79-brand)}
@media (min-width:768px){
  html .c79-svc{grid-template-columns:repeat(2,1fr);gap:var(--c79-s5)}
  html .c79-svc__card{grid-template-columns:1fr;align-items:start;padding:0;overflow:hidden}
  html .c79-svc__img{aspect-ratio:4/3;border-radius:0}
  html .c79-svc__body{padding:var(--c79-s4) var(--c79-s5) var(--c79-s5)}
  html .c79-svc__title{font-size:1.25rem;margin-bottom:var(--c79-s2)}
  html .c79-svc__more{display:inline-block}
}

@media (min-width:1024px){html .c79-svc{grid-template-columns:repeat(4,1fr)}}

/* ---------- 10. region summary ---------- */
html .c79-region{display:grid;gap:var(--c79-s6)}
html .c79-facts{margin:0;display:grid;gap:var(--c79-s3)}
html .c79-facts>div{background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-md);padding:var(--c79-s4) var(--c79-s5)}
html .c79-facts dt{font-size:var(--c79-fs-sm);font-weight:700;color:var(--c79-muted)}
html .c79-facts dd{margin:2px 0 0;font-size:1.125rem;font-weight:700;color:var(--c79-ink)}
html .c79-arealist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--c79-s2)}
html .c79-arealist a{display:flex;align-items:center;justify-content:space-between;gap:var(--c79-s2);min-height:48px;padding:0 var(--c79-s4);
  background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-sm);text-decoration:none;font-weight:600;font-size:.9375rem;color:var(--c79-ink)}
html .c79-arealist a::after{content:"→";color:var(--c79-muted);font-weight:400}
html .c79-arealist a:hover{border-color:var(--c79-brand);color:var(--c79-brand)}
@media (min-width:768px){html .c79-arealist{grid-template-columns:repeat(3,minmax(0,1fr))}html .c79-facts{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){html .c79-arealist{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- 11. steps (이용 절차) ---------- */
html .c79-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--c79-s3);counter-reset:c79step}
html .c79-steps li{counter-increment:c79step;position:relative;padding:var(--c79-s4) var(--c79-s4) var(--c79-s4) 64px;background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-md)}
html .c79-steps li::before{content:counter(c79step);position:absolute;left:var(--c79-s4);top:var(--c79-s4);width:32px;height:32px;border-radius:50%;background:var(--c79-brand);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9375rem}
html .c79-steps strong{display:block;color:var(--c79-ink)}
html .c79-steps span{font-size:.9375rem;color:var(--c79-muted)}
@media (min-width:768px){html .c79-steps{grid-template-columns:repeat(4,1fr)}}

/* ---------- 12. gallery (real photos) ---------- */
html .c79-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--c79-s3)}
html .c79-gallery figure{margin:0}
html .c79-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--c79-r-md);background:var(--c79-sand)}
html .c79-gallery figcaption{margin-top:var(--c79-s2);font-size:var(--c79-fs-sm);line-height:1.5;color:var(--c79-muted)}
@media (min-width:768px){html .c79-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--c79-s4)}}

/* ---------- 13. detail page ---------- */
html .c79-crumb{font-size:var(--c79-fs-sm);color:var(--c79-muted);margin:0 0 var(--c79-s4)}
html .c79-crumb a{text-decoration:underline;text-underline-offset:2px}
html .c79-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--c79-s2)}
html .c79-crumb li+li::before{content:"›";margin-right:var(--c79-s2)}
html .c79-summary{margin:var(--c79-s5) 0;padding:var(--c79-s5);background:var(--c79-surface);border:1px solid var(--c79-line);border-left:4px solid var(--c79-brand);border-radius:var(--c79-r-md)}
html .c79-summary p{margin:0}
html .c79-summary .c79-facts{margin-top:var(--c79-s4);gap:var(--c79-s2)}
html .c79-summary .c79-facts>div{padding:var(--c79-s3) var(--c79-s4);background:var(--c79-bg)}
html .c79-detail{display:grid;gap:var(--c79-s6)}
@media (min-width:1024px){html .c79-detail{grid-template-columns:240px minmax(0,1fr);gap:var(--c79-s7);align-items:start}}
html .c79-toc{font-size:.9375rem}
html .c79-toc__title{font-size:var(--c79-fs-sm);font-weight:700;color:var(--c79-muted);margin:0 0 var(--c79-s2)}
html .c79-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--c79-s2)}
html .c79-toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--c79-s3);border:1px solid var(--c79-line);border-radius:var(--c79-r-pill);background:var(--c79-surface);text-decoration:none;font-weight:600}
html .c79-toc a:hover{border-color:var(--c79-brand);color:var(--c79-brand)}
@media (min-width:1024px){
  html .c79-toc{position:sticky;top:calc(var(--c79-header-h) + 24px)}
  html .c79-toc ol{flex-direction:column;gap:0}
  html .c79-toc a{border:0;border-left:2px solid var(--c79-line);border-radius:0;background:none;padding:var(--c79-s2) var(--c79-s4);min-height:40px}
  html .c79-toc a:hover{border-left-color:var(--c79-brand)}
}
html .c79-topics__tools{display:flex;justify-content:flex-end;margin-bottom:var(--c79-s2)}
html .c79-linkbtn{background:none;border:0;padding:0 var(--c79-s2);min-height:44px;font:inherit;font-size:.9375rem;font-weight:700;color:var(--c79-brand);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
html:not(.c79-js) [data-c79-expand-all]{display:none} /* JS 없을 때만 쓸모없는 버튼 숨김(텍스트 아님) */

/* topic disclosure: native <details>. 내용은 처음부터 HTML에 있고 사용자가 연다. */
html .c79-topic{background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-md);margin-bottom:var(--c79-s3)}
html .c79-topic>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--c79-s4);min-height:60px;padding:var(--c79-s4) var(--c79-s5);cursor:pointer;list-style:none;border-radius:var(--c79-r-md)}
html .c79-topic>summary::-webkit-details-marker{display:none}
html .c79-topic>summary::after{content:"";flex:0 0 auto;width:12px;height:12px;border-right:2px solid var(--c79-brand);border-bottom:2px solid var(--c79-brand);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
html .c79-topic[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
html .c79-topic__title{font-size:1.1875rem;font-weight:800;margin:0}
@media (min-width:768px){html .c79-topic__title{font-size:1.3125rem}}
html .c79-topic__body{padding:0 var(--c79-s5) var(--c79-s5)}
html .c79-topic__body>:first-child{margin-top:0}
html .c79-list{margin:0;padding:0;list-style:none}
html .c79-list li{position:relative;padding-left:1.1em;margin:0 0 var(--c79-s2)}
html .c79-list li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--c79-brand)}
html .c79-src{font-size:var(--c79-fs-sm);color:var(--c79-muted);line-height:1.6;margin-top:var(--c79-s5)}

/* ---------- 14. cost table: 640 미만 카드형 (td에 data-label 필요) ---------- */
html .c79-table-wrap{border:1px solid var(--c79-line);border-radius:var(--c79-r-md);overflow:hidden;background:var(--c79-surface)}
html .c79-table{width:100%;border-collapse:collapse;font-size:.9375rem}
html .c79-table th,html .c79-table td{padding:var(--c79-s3) var(--c79-s4);text-align:left;border-bottom:1px solid var(--c79-line);word-break:keep-all;white-space:nowrap}
html .c79-table thead th{background:var(--c79-sand);color:var(--c79-ink);font-weight:700;white-space:normal}
html .c79-table tbody tr:last-child>*{border-bottom:0}
@media (max-width:639.98px){
  html .c79-table-wrap{border:0;background:none;overflow:visible}
  html .c79-table thead{display:none} /* 머리글 텍스트는 각 칸의 data-label로 그대로 다시 보인다 */
  html .c79-table,html .c79-table tbody,html .c79-table tr,html .c79-table td,html .c79-table th{display:block}
  html .c79-table tr{background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-md);margin-bottom:var(--c79-s3);padding:var(--c79-s2) 0}
  html .c79-table tbody tr:last-child>*{border-bottom:1px solid var(--c79-line)}
  html .c79-table tbody tr>:last-child{border-bottom:0!important}
  html .c79-table td,html .c79-table tbody th{display:flex;justify-content:space-between;gap:var(--c79-s4);white-space:normal;padding:var(--c79-s2) var(--c79-s4)}
  html .c79-table td::before,html .c79-table tbody th::before{content:attr(data-label);font-weight:600;color:var(--c79-muted);flex:0 0 auto;max-width:55%}
  html .c79-table td:first-child{font-size:1.0625rem;font-weight:800;color:var(--c79-ink)}
}

/* ---------- 15. FAQ (faqAccordion: .faq-list > details.c79-qa-all(구 faq-all, 감시 정규식 \bfaq 오탐 회피) > details.faq-item) ---------- */
html .c79-faq .c79-qa-all>summary,html .c79-faq .faq-all>summary{color:var(--c79-brand)}
html .c79-faq details>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--c79-s4);min-height:56px;padding:var(--c79-s4) var(--c79-s1);cursor:pointer;list-style:none;font-weight:700;color:var(--c79-ink)}
html .c79-faq details>summary::-webkit-details-marker{display:none}
html .c79-faq .faq-item,html .c79-faq .faq{border-bottom:1px solid var(--c79-line)}
html .c79-faq .faq-item>p,html .c79-faq .faq .a{margin:0 var(--c79-s1) var(--c79-s5);color:var(--c79-text);line-height:1.75}

/* ---------- 16. related links ---------- */
html .c79-links{list-style:none;margin:0;padding:0;border-top:1px solid var(--c79-line)}
html .c79-links a{display:flex;justify-content:space-between;align-items:center;min-height:56px;border-bottom:1px solid var(--c79-line);text-decoration:none;font-weight:600;color:var(--c79-ink)}
html .c79-links a::after{content:"→";color:var(--c79-muted);font-weight:400}
html .c79-links a:hover{color:var(--c79-brand)}

/* ---------- 17. CTA band ---------- */
html .c79-cta{background:var(--c79-brand);color:#fff;border-radius:var(--c79-r-lg);padding:var(--c79-s6) var(--c79-s5);display:grid;gap:var(--c79-s4)}
html .c79-cta h2{color:#fff;font-weight:800;font-size:var(--c79-fs-h2);margin:0}
html .c79-cta p{margin:0;color:#D9E7E3}
html .c79-cta .c79-btn--primary{background:#fff;color:var(--c79-brand)}
html .c79-cta .c79-btn--primary:hover{background:var(--c79-brand-soft)}
@media (min-width:768px){html .c79-cta{grid-template-columns:1fr auto;align-items:center;padding:var(--c79-s7)}}

/* ---------- 19. mobile sticky consultation bar ---------- */
html .c79-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--c79-brand);color:#fff;
  padding:var(--c79-s2) var(--c79-gutter) calc(var(--c79-s2) + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px rgba(0,0,0,.12)}
html .c79-bar__btn{display:flex;align-items:center;justify-content:center;gap:var(--c79-s2);width:100%;min-height:52px;background:none;border:0;color:#fff;font:inherit;font-size:1.0625rem;font-weight:800;cursor:pointer;text-decoration:none}
@media (min-width:768px){html .c79-bar{display:none}}

/* ---------- 21. 주요 서비스 11 카드 그리드 + 상태 배지 ---------- */
/* <ul class="c79-svcgrid"> > li > article.c79-svcard. 카드 전체 클릭(제목 링크 ::after). 상태 배지는 글자로 표시(색만으로 구분 안 함).
 * 360·390: 2열 / 768: 3열 / 1024+: 4열. 사진은 선택(.c79-svcard__img) — 실사진 있을 때만. */
html .c79-svcgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--c79-s3)}
@media (min-width:768px){html .c79-svcgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--c79-s4)}}
@media (min-width:1024px){html .c79-svcgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--c79-s5)}}
html .c79-svcgrid>li{display:flex}
html .c79-svcard{position:relative;display:flex;flex-direction:column;gap:var(--c79-s2);width:100%;min-height:148px;padding:var(--c79-s4);
  background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-md);box-shadow:var(--c79-shadow-1);transition:box-shadow .15s,border-color .15s,transform .15s}
html .c79-svcard:hover{border-color:var(--c79-brand);box-shadow:var(--c79-shadow-2)}
@media (prefers-reduced-motion:no-preference){html .c79-svcard:hover{transform:translateY(-2px)}}
html .c79-svcard:has(a:focus-visible){outline:3px solid var(--c79-brand);outline-offset:2px}
html .c79-svcard__img{display:block;width:calc(100% + 2 * var(--c79-s4));max-width:none;margin:calc(-1 * var(--c79-s4)) calc(-1 * var(--c79-s4)) var(--c79-s2);aspect-ratio:16/10;object-fit:cover;border-radius:var(--c79-r-md) var(--c79-r-md) 0 0;background:var(--c79-sand)}
html .c79-svcard__title{margin:0;font-size:1.0625rem;font-weight:800;line-height:1.35;color:var(--c79-ink);letter-spacing:-.02em}
html .c79-svcard__title a{color:inherit;text-decoration:none}
html .c79-svcard__title a::after{content:"";position:absolute;inset:0;border-radius:var(--c79-r-md)}
html .c79-svcard__title a:focus-visible{outline:none}
html .c79-svcard__desc{margin:0;font-size:.875rem;line-height:1.55;color:var(--c79-muted)}
html .c79-svcard__foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--c79-s2);padding-top:var(--c79-s2)}
html .c79-svcard__go{font-size:.875rem;font-weight:700;color:var(--c79-brand);white-space:nowrap}
@media (min-width:768px){html .c79-svcard{padding:var(--c79-s5);min-height:184px}html .c79-svcard__img{width:calc(100% + 2 * var(--c79-s5));margin:calc(-1 * var(--c79-s5)) calc(-1 * var(--c79-s5)) var(--c79-s2)}
  html .c79-svcard__title{font-size:1.1875rem}html .c79-svcard__desc{font-size:.9375rem}}
/* 상태 배지: [운영중] / [상담 안내]. 대괄호 글자 그대로 표시 */
html .c79-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:var(--c79-r-pill);font-size:.8125rem;font-weight:700;line-height:1.25;padding-block:3px;max-width:100%;border:1px solid transparent}
html .c79-badge--live{background:var(--c79-brand-soft);color:var(--c79-brand);border-color:#C7DAD4}
html .c79-badge--consult{background:#FBF3E4;color:#7A4D0B;border-color:#EBD7B0}
html .c79-badge--prep{background:#F1F1EF;color:#4A4F4C;border-color:#D9DAD6}

/* ---------- 22. 상담 동선 (CTA 줄 · 섹션 끝 상담 안내) ---------- */
html .c79-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--c79-s3) var(--c79-s5);margin-top:var(--c79-s6);padding:var(--c79-s4) var(--c79-s5);background:var(--c79-surface);border:1px solid var(--c79-line);border-radius:var(--c79-r-md)}
html .c79-callout p{margin:0;font-weight:700;color:var(--c79-ink)}
html .c79-callout small{display:block;font-weight:400;color:var(--c79-muted);font-size:var(--c79-fs-sm)}

/* ---------- 23. 푸터 '운영사 정보' 8필드 (REQUIREMENTS §7) ---------- */
html .c79-footer{background:var(--c79-dark);color:var(--c79-on-dark);font-family:var(--c79-font);font-size:.9375rem;line-height:1.7;padding:var(--c79-s7) 0 var(--c79-s6)}
html .c79-footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
html .c79-op{margin:var(--c79-s4) 0;padding:var(--c79-s5) 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
html .c79-op__title{margin:0 0 var(--c79-s3);font-size:1rem;font-weight:800;color:#fff;letter-spacing:-.01em}
html .c79-op__list{margin:0;display:grid;grid-template-columns:1fr;gap:var(--c79-s1) var(--c79-s6)}
html .c79-op__list>div{display:flex;flex-wrap:wrap;gap:0 var(--c79-s3);min-width:0}
html .c79-op__list dt{flex:0 0 auto;min-width:8.5em;color:#A9B0AB;font-weight:500}
html .c79-op__list dd{margin:0;color:var(--c79-on-dark);overflow-wrap:anywhere;min-width:0}
html .c79-op__list a{display:inline-flex;align-items:center;min-height:32px}
@media (max-width:389.98px){html .c79-op__list dt{min-width:0;flex-basis:100%}} /* 360: 라벨 위·값 아래 */
@media (min-width:768px){html .c79-op__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){html .c79-op__list{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:var(--c79-s4)}html .c79-op__list>div{flex-direction:column}html .c79-op__list dt{min-width:0;font-size:var(--c79-fs-sm)}}
html .c79-footer__name{color:#fff;font-weight:800;font-size:1.0625rem;margin:0 0 var(--c79-s2)}
html .c79-footer p{margin:var(--c79-s1) 0}
html .c79-footer__copy{color:#A9B0AB;margin-top:var(--c79-s4)}
html .c79-footer__strong{font-weight:700}
html .c79-footer__tel{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;font:inherit;color:#fff;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ---------- 20. print ---------- */
@media print{html .c79-header,html .c79-bar,html .c79-adbar,html .c79-menu-btn{display:none}.c79{padding:0}}
