/*! 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{
  /* region-v6 (2026-10-06): 메인 v6.2 와 같은 값 — 화이트·아이보리·샴페인, 검정 없음(가장 진한 색 = --c79-ink #3B322B).
   * 대비: ink 흰 6.5 · text 흰 5.2 · brand 흰 5.4 / brand-soft 4.7 · btn-t on champ 5.2 */
  --c79-brand:#8A6A3F; --c79-brand-hover:#76592F; --c79-brand-soft:#F6EFE3;
  --c79-ink:#3B322B; --c79-text:#5E544B; --c79-muted:#5E544B;
  --c79-bg:#F9F6F1; --c79-surface:#FFFFFF; --c79-sand:#F9F6F1; --c79-line:#E9E1D4;
  --c79-dark:#F8F4EC; --c79-on-dark:#3B322B; /* 푸터 = 밝은 아이보리(이름 유지, 값만 밝게) */
  --c79-ivory:#F9F6F1; --c79-champ-a:#F4EBDA; --c79-champ-b:#E8D8BB; --c79-champ-line:#DCC69F; --c79-gold:#BFA987; --c79-btn-t:#76592F;
  --c79-font:'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(107,91,78,.06);
  --c79-shadow-2:0 14px 30px -12px rgba(150,120,75,.3);
  --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,.c79-mbar) :where(a,button,summary):focus-visible{outline:3px solid var(--c79-brand);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:600;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:500;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:500;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:600;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:600;color:var(--c79-brand);letter-spacing:.02em}
html .c79-h1{font-size:var(--c79-fs-h1);font-weight:500;line-height:1.2}
html .c79-h2{font-size:var(--c79-fs-h2);font-weight:500;margin-bottom:var(--c79-s3)}
html .c79-h3{font-size:var(--c79-fs-h3);font-weight:600;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:500;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:500;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:600;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:600;color:var(--c79-muted)}
html .c79-facts dd{margin:2px 0 0;font-size:1.125rem;font-weight:600;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:600;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:600;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:600;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:500;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:600;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:500;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:600;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:500;font-size:var(--c79-fs-h2);margin:0}
html .c79-cta p{margin:0;color:var(--c79-text)}
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 -8px 24px rgba(150,120,75,.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:500;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:500;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:600;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:600;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:#E3D3B6}
html .c79-badge--consult{background:var(--c79-ivory);color:var(--c79-brand);border-color:#EADCC2}
html .c79-badge--prep{background:#F6F3EE;color:var(--c79-text);border-color:var(--c79-line)}

/* ---------- 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:600;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:500;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:var(--c79-text);font-weight:400}
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:500;font-size:1.0625rem;margin:0 0 var(--c79-s2)}
html .c79-footer p{margin:var(--c79-s1) 0}
html .c79-footer__copy{color:var(--c79-text);margin-top:var(--c79-s4)}
html .c79-footer__strong{font-weight:600}
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}

/* ---------- 24. region-v6 (Bot1, 2026-10-06): 메인 v6.2 헤더·로고·버튼·푸터·하단바 이식 ----------
 * 굵기: 제목 500 · 강조/버튼 600 · 숫자 700 · 본문 400. 채움 버튼 = 샴페인 그라데이션(갈색·검정 채움 없음). */
html .c79-header{background:rgba(255,255,255,.94);border-bottom-color:var(--c79-line)}
@supports (backdrop-filter:blur(8px)){html .c79-header{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(10px)}}
html .c79-brand{gap:10px;font-weight:700;font-size:1.1875rem;letter-spacing:-.03em;color:var(--c79-ink)}
@media (min-width:768px){html .c79-brand{font-size:1.3125rem}}
html .c79-logo{flex:none;display:block;width:40px;height:40px}
html .c79-brand__txt{min-width:0;overflow:hidden;text-overflow:ellipsis}
html .c79-nav__link{font-weight:500;color:var(--c79-ink)}
html .c79-nav__link:hover,html .c79-nav__link[aria-current="page"]{color:var(--c79-brand)}
html .c79-nav__sep{background:#DCCDB3}
html .c79-menu-btn{background:#fff;color:var(--c79-ink);border-color:var(--c79-line);font-weight:500}
html .c79-adbar{background:var(--c79-ivory);border-bottom-color:var(--c79-line)}
html .c79-adbtn{font-weight:400;color:var(--c79-text)}
html .c79-pop{border-color:var(--c79-line)}
html .c79-pop a{font-weight:600;color:var(--c79-brand)}
/* 버튼: primary = 샴페인, ghost = 흰 바탕 금선 알약 (메인 상담하기와 동일) */
html .c79-btn{font-weight:600;border-radius:var(--c79-r-pill);letter-spacing:.02em}
html .c79-btn--primary,html .c79-cta .c79-btn--primary{background:linear-gradient(180deg,var(--c79-champ-a),var(--c79-champ-b));border-color:var(--c79-champ-line);color:var(--c79-btn-t);
  box-shadow:0 10px 24px -14px rgba(150,120,75,.55),inset 0 1px 0 rgba(255,255,255,.7)}
html .c79-btn--primary:hover,html .c79-cta .c79-btn--primary:hover{background:linear-gradient(180deg,#F0E4CD,#E2CFAC);border-color:#CDB384;color:var(--c79-btn-t)}
html .c79-btn--ghost{background:#fff;border-color:var(--c79-champ-line);color:var(--c79-brand)}
html .c79-btn--ghost:hover{background:linear-gradient(180deg,var(--c79-champ-a),var(--c79-champ-b));color:var(--c79-btn-t);border-color:#CDB384}
html .c79-header__call .c79-btn--sm{padding:0 22px;letter-spacing:.04em}
/* CTA 띠: 갈색 채움 → 아이보리·샴페인 띠 */
html .c79-cta{background:linear-gradient(180deg,#FCFAF5,#F5EDDF);color:var(--c79-ink);border:1px solid var(--c79-line)}
html .c79-cta h2{color:var(--c79-ink)}
/* 모바일 하단 전화바: 흰 반투명 바 + 샴페인 알약 (shared.php mobileBar() .c79-mbar / 구 .c79-bar 공통) */
html .c79-mbar,html .c79-bar{background:rgba(255,255,255,.96);color:var(--c79-ink);border-top:1px solid var(--c79-line);box-shadow:0 -8px 24px rgba(150,120,75,.12);
  padding:8px var(--c79-gutter) calc(8px + env(safe-area-inset-bottom,0px))}
@supports (backdrop-filter:blur(8px)){html .c79-mbar,html .c79-bar{backdrop-filter:blur(10px)}}
html .c79-mbar__btn,html .c79-bar__btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border-radius:var(--c79-r-pill);
  background:linear-gradient(180deg,var(--c79-champ-a),var(--c79-champ-b));border:1px solid var(--c79-champ-line);color:var(--c79-btn-t);font:inherit;font-size:1.0625rem;font-weight:600;letter-spacing:.02em;cursor:pointer;
  box-shadow:0 10px 24px -14px rgba(150,120,75,.55),inset 0 1px 0 rgba(255,255,255,.7)}
html .c79-mbar__btn:hover,html .c79-bar__btn:hover{background:linear-gradient(180deg,#F0E4CD,#E2CFAC)}
/* 푸터: 밝은 아이보리 (메인 v6.2 와 같은 색), 운영사 정보 8필드 그대로 */
html .c79-footer{border-top:1px solid var(--c79-line)}
html .c79-footer a{color:var(--c79-brand)}
html .c79-footer__name{display:flex;align-items:center;gap:10px;color:var(--c79-ink);font-weight:500;font-size:1.125rem}
html .c79-footer__name .c79-logo{width:32px;height:32px}
html .c79-op{border-top-color:var(--c79-line);border-bottom-color:var(--c79-line)}
html .c79-op__title{color:var(--c79-ink);font-weight:600}
html .c79-op__list dd{color:var(--c79-ink)}
html .c79-footer__tel{color:var(--c79-brand);font-weight:600}
html .c79-footer summary{color:var(--c79-ink);font-weight:500}

/* 전화 아이콘(callBtn·하단바·헤더·번호 패널, '☎' 글리프 대체) */
html .c79-ico{display:inline-block;flex:none;width:1.1em;height:1.1em;margin-right:.35em;vertical-align:-.17em}
html :is(.c79-btn,.c79-mbar__btn,.c79-bar__btn) .c79-ico{margin-right:0}
/* Bot4 REGION-CHECKLIST 반영(2026-10-06): 메뉴 16px/500, 세로 구분선 없음, 푸터 글자 #5E544B, '운영사 정보' 15px/700 */
html .c79-nav__link{font-size:1rem}
html .c79-nav__sep{display:none}
html .c79-footer{color:var(--c79-text);font-size:.9375rem}
html .c79-footer :is(.c79-op__list dd,summary,.c79-footer__copy){color:var(--c79-text)}
html .c79-op__title{font-size:.9375rem;font-weight:700;color:var(--c79-ink)}
/* 푸터 운영사 2열 정렬(<1024): 라벨 열 고정 + 긴 값(주소지)은 값 열 안에서 줄바꿈 — 360 도 같은 2열 */
@media (max-width:1023.98px){
  html .c79-op__list>div{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:0 var(--c79-s3);align-items:baseline}
  html .c79-op__list dt{min-width:0;flex-basis:auto}
  html .c79-op__list dd{word-break:keep-all} /* 주소 낱말 중간 줄바꿈 방지 */
}
/* 1280~1439: 메뉴 16px 로 커진 만큼 간격 축소 — 브랜드명(지역명) 잘림 금지 */
html .c79-brand{flex-shrink:0}
html .c79-brand__txt{overflow:visible}
@media (min-width:1280px) and (max-width:1439.98px){html .c79-header .c79-nav__list{column-gap:12px}html .c79-header .c79-nav__link{padding:0}html .c79-header__inner{gap:12px}}
/* ---------- 20. print ---------- */
@media print{html .c79-header,html .c79-bar,html .c79-adbar,html .c79-menu-btn{display:none}.c79{padding:0}}

/* ---------- 25. v7.1 (2026-10-18, regions-v71) — Claude Design v7.1 토큰·규칙 이식. 위 섹션을 덮는 마지막 층 ----------
 * 굵기 400·500만 · 검정 금지(가장 진한 #3B322B) · 꽉 찬 브론즈는 주 CTA·하단 바에만 · 본문 17px+ · 보이는 글자 15px+ · 터치 48px+ · 상자는 위젯·히어로 카드만
 * 전화: 모든 tel 링크는 a[data-reveal] 2단계(첫 탭 번호 표시, 둘째 탭 연결). 평문 번호 없음. */
:root{
  --bg:#FFFFFF; --bg-alt:#F9F6F1; --bg-accent:#F2EBE0;
  --tx-1:#3B322B; --tx-2:#5E544B; --tx-3:#6B5E54;
  --line:#E9E1D4; --line-strong:#BFA987;
  --accent:#8A6A3F; --accent-hover:#76592F;
  --r-card:12px; --r-btn:10px;
  --sh-card:0 1px 2px rgba(59,50,43,.04),0 24px 48px -28px rgba(59,50,43,.22); --sh-cta:0 1px 2px rgba(59,50,43,.10);
  /* 기존 --c79-* 이름을 토큰에 연결(새 토큰 아님) */
  --c79-brand:var(--accent); --c79-brand-hover:var(--accent-hover); --c79-brand-soft:var(--bg-accent);
  --c79-ink:var(--tx-1); --c79-text:var(--tx-2); --c79-muted:var(--tx-3);
  --c79-bg:var(--bg); --c79-surface:var(--bg); --c79-sand:var(--bg-alt); --c79-line:var(--line);
  --c79-dark:var(--bg-alt); --c79-on-dark:var(--tx-2); --c79-ivory:var(--bg-alt); --c79-gold:var(--line-strong);
  --c79-champ-a:var(--bg-alt); --c79-champ-b:var(--bg-accent); --c79-champ-line:var(--line-strong); --c79-btn-t:#fff;
  --c79-r-sm:var(--r-btn); --c79-r-md:var(--r-card); --c79-r-lg:var(--r-card);
  --c79-shadow-1:none; --c79-shadow-2:var(--sh-card);
  --c79-fs-sm:15px; --c79-fs-base:17px; --c79-fs-lg:19px; --c79-fs-h3:18px;
  --c79-fs-h2:clamp(27px,1.2rem + 1.1vw,40px); --c79-fs-h1:clamp(31px,1.45rem + 2.2vw,52px);
  --c79-header-h:72px; --c79-max:1280px;
}
html{font-size:17px;-webkit-text-size-adjust:100%}
@media (min-width:768px){:root{--c79-fs-base:18px;--c79-fs-lg:19px;--c79-header-h:72px}}
@media (max-width:767.98px){:root{--c79-header-h:60px}}
.c79,body.c79{font-size:var(--c79-fs-base);color:var(--tx-2);background:var(--bg);overflow-wrap:break-word}
body{color:var(--tx-2)}
/* 굵기 400·500 */
html body :is(h1,h2,h3,h4,h5,strong,b,th,dt,summary,mark,.font-bold,.font-semibold,.font-extrabold,.font-black,.font-medium,[class*="c79-btn"],.c79-badge,.c79-eyebrow,.c79-chip,.c79-nav__link,.c79-adbtn,.c79-brand,.c79-footer__strong,.c79-footer__tel,.c79-op__title,.c79-links a,.c79-toc a,.c79-linkbtn,.c79-svcard__go,.c79-svc__more){font-weight:500}
html body :is(.font-light,.font-thin,.font-normal){font-weight:400}
/* 버튼: 10px 모서리, 주 CTA = 단색 브론즈 */
html .c79-btn{border-radius:var(--r-btn);letter-spacing:0;min-height:48px;font-size:17px}
html .c79-btn--lg{min-height:56px;font-size:18px;padding:0 28px}
html .c79-btn--primary,html .c79-cta .c79-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--sh-cta)}
html .c79-btn--primary:hover,html .c79-cta .c79-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
html .c79-btn--ghost{background:var(--bg);border-color:var(--line-strong);color:var(--tx-1)}
html .c79-btn--ghost:hover{background:var(--bg);border-color:var(--accent);color:var(--accent)}
html .c79-btn:active,html .c79-bar__btn:active,html .c79-mbar__btn:active{transform:translateY(1px)}
html .c79-btn.is-open,html .c79-bar__btn.is-open,html .c79-mbar__btn.is-open,html a[data-reveal].is-open{outline:2px solid var(--accent);outline-offset:2px}
html a[data-reveal]{cursor:pointer}
html .c79-ico{margin-right:0;width:20px;height:20px}
/* 헤더·상단 띠 */
html .c79-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:none}
@supports (backdrop-filter:blur(8px)){html .c79-header{background:rgba(255,255,255,.97);backdrop-filter:none}}
html .c79-header .c79-container,html .c79-adbar .c79-container{max-width:1360px}
html .c79-header .c79-container{padding:0 40px}
@media (max-width:767.98px){html .c79-header .c79-container{padding:0 20px}}
html .c79-header__inner{min-height:var(--c79-header-h);gap:16px}
html .c79-brand{gap:10px;font-size:20px;font-weight:500;color:var(--tx-1);letter-spacing:-.02em}
@media (max-width:767.98px){html .c79-brand{font-size:18px}}
html .c79-logo{width:36px;height:36px}
html .c79-header .c79-nav__link{font-size:16px;font-weight:500;color:var(--tx-1)}
html .c79-header .c79-nav__link:hover,html .c79-nav__link[aria-current="page"]{color:var(--accent)}
html .c79-header .c79-header__call .c79-btn{min-height:48px;padding:0 20px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg);color:var(--tx-1);font-size:16px;box-shadow:none;white-space:nowrap}
html .c79-header .c79-header__call .c79-btn:hover{color:var(--accent);border-color:var(--accent)}
html .c79-adbtn{font-size:15px;font-weight:400;color:var(--tx-3);min-height:48px}
html .c79-caret{font-size:15px;line-height:1;transform:scale(.6)}
html .c79-adbtn[aria-expanded="true"] .c79-caret{transform:scale(.6) rotate(180deg)}
html .c79-pop a{font-weight:500;color:var(--tx-1);font-size:17px}
html .c79-menu-btn{font-weight:500;font-size:15px;color:var(--tx-1);border-color:var(--line);background:var(--bg)}
html .c79-adbar{background:var(--bg-alt);border-bottom:1px solid var(--line)}
@media (min-width:1280px) and (max-width:1439.98px){html .c79-header .c79-nav__list{column-gap:12px}html .c79-header__inner{gap:12px}}
@media (max-width:1279.98px){.c79-js .c79-nav .c79-nav__link{font-size:17px;min-height:52px}}
/* 하단 전화바(모바일): 흰 바 + 단색 브론즈 버튼. 숨기지 않고 본문 아래 여백으로 확보 */
html .c79-mbar,html .c79-bar{background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(59,50,43,.08);padding:6px 20px calc(6px + env(safe-area-inset-bottom,0px));backdrop-filter:none}
html .c79-mbar__btn,html .c79-bar__btn{min-height:52px;border-radius:var(--r-btn);background:var(--accent);border:0;color:#fff;font-size:17px;font-weight:500;box-shadow:none}
html .c79-mbar__btn:hover,html .c79-bar__btn:hover{background:var(--accent-hover)}
html .c79-mbar :focus-visible,html .c79-bar :focus-visible{outline-color:var(--accent)}
@media (max-width:767.98px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}
/* CTA 띠 · 카드 · 본문 부품 */
html .c79-cta{background:var(--bg-accent);border:0;border-radius:var(--r-card);color:var(--tx-1)}
html .c79-cta h2{color:var(--tx-1)}
html .c79-cta p{color:var(--tx-2)}
html .c79-eyebrow{font-size:15px;font-weight:500;color:var(--accent);letter-spacing:.02em}
html .c79-lead,html .c79-hero__lead{font-size:var(--c79-fs-lg);color:var(--tx-2)}
html .c79-chip,html .c79-badge{font-size:15px;border-radius:999px}
html .c79-badge--live,html .c79-badge--consult,html .c79-badge--prep{background:var(--bg-alt);color:var(--tx-1);border:1px solid var(--line)}
html .c79-svcard__desc,html .c79-svc__desc,html .c79-src,html .c79-crumb,html .c79-toc__title,html .c79-table,html .c79-hero__media figcaption,html .c79-gallery figcaption{font-size:15px}
html .c79-svcard__go{font-size:15px}
html .c79-svcard,html .c79-svc__card,html .c79-topic,html .c79-callout,html .c79-summary,html .c79-steps li,html .c79-facts>div,html .c79-table-wrap{box-shadow:none;border-color:var(--line);border-radius:var(--r-card)}
html .c79-topic>summary{min-height:56px}
/* 푸터: 밝은 바탕 + 1px 선. 운영사 정보 8필드 유지, 전화는 reveal */
html .c79-footer{background:var(--bg-alt);color:var(--tx-2);border-top:1px solid var(--line);font-size:15px}
html .c79-footer a{color:var(--tx-1);text-decoration-color:var(--line-strong)}
html .c79-footer__name{color:var(--tx-1);font-weight:500;font-size:18px}
html .c79-op{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html .c79-op__title{font-size:16px;font-weight:500;color:var(--tx-1)}
html .c79-op__list dt{font-size:15px;font-weight:400;color:var(--tx-3)}
html .c79-op__list dd,html .c79-footer :is(summary,.c79-footer__copy){font-size:15px;color:var(--tx-1)}
html .c79-footer__copy{color:var(--tx-3)}
html .c79-op__list a,html .c79-footer__tel,html .c79-footer p a{min-height:48px;display:inline-flex;align-items:center}
html .c79-footer__tel{color:var(--accent);font-weight:500}
html .c79-footer summary{min-height:48px}
html .c79-footer .c79-footer-tel,html .c79-footer a[data-reveal]{color:var(--accent);text-underline-offset:5px}
/* Tailwind 잔여: 보이는 글자 15px 미만 금지(arbitrary 값·xs/sm), 검정 계열 금지 */
html body .text-sm{font-size:15px}
html body :is([class*="text-[9"],[class*="text-[10"],[class*="text-[11"],[class*="text-[12"],[class*="text-[13"],[class*="text-[14"],.text-xs){font-size:15px}
html body :is(.text-black,.text-dark,.text-slate-900,.text-gray-900,.text-neutral-900,.text-zinc-900){color:var(--tx-1)}
html body :is(.bg-black,.bg-dark,.bg-slate-900,.bg-gray-900,.bg-neutral-900){background-color:var(--tx-1)}
html body :is(.text-stone-400,.text-stone-500,.text-stone-600,.text-gray-500,.text-gray-600){color:var(--tx-3)}
html body :is(.text-stone-700,.text-stone-800,.text-stone-900){color:var(--tx-1)}
/* 사진: 모델 외 figure 는 4:3 cover, 모델은 원본 비율(머리 잘림 금지) */
figure:not(.w3-model):not(.rv6-model) img{object-fit:cover}
html .c79-hero__media img,html .c79-gallery img{object-position:center 30%}
img{max-width:100%}
html :where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html *{transition:none!important;animation:none!important}}
/* 옛 스킨 전화 버튼(callBtn 이 v71-cta / v71-link 표시를 붙임) */
html body a.v71-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:var(--r-btn);background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:17px;font-weight:500;line-height:1.3;text-decoration:none;box-shadow:var(--sh-cta);text-align:center;transition:background-color .2s,border-color .2s,color .2s}
html body a.v71-cta:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;opacity:1;transform:none}
html body a.v71-cta--ghost{background:var(--bg);color:var(--tx-1);border-color:var(--line-strong);box-shadow:none}
html body a.v71-cta--ghost:hover{background:var(--bg);color:var(--accent);border-color:var(--accent)}
html body a.v71-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;color:var(--tx-1);font-size:17px;font-weight:500;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:6px}
html body a.v71-link:hover{color:var(--accent)}
/* 'AI 생성 이미지' 표기(본문, 원본 그대로 유지) — 검정 반투명 → 토큰 색, 15px */
html body span[class*="bg-black/60"]{background:rgba(59,50,43,.82);color:#fff;font-size:15px;line-height:1.2;padding:5px 10px;border-radius:999px}
/* 본문 17px+ (body.c79 가 아닌 옛 스킨 페이지 포함). 보조(출처·사진 설명·표 각주)는 15px 유지 */
html body{font-size:17px}
@media (min-width:768px){html body{font-size:18px}}
html body main :is(p,li,dd)[class*="text-[15"],html body main :is(p,li,dd)[class*="text-[16"]{font-size:17px!important}
