/* fkf.or.kr 하위 페이지 공용 스타일 — 홈(index.html) 디자인 토큰 동기화 */
:root{
  --orange:#EF800A;--orange-strong:#DD6B00;--orange-text:#C05E00;--orange-tint:#FFF3E5;
  --bg:#FBF6EF;--surface:#FFFFFF;--bg-soft:#F4EDE2;
  --ink:#2B2117;--muted:#6E6154;--muted-2:#98897A;--line:#E8DFD2;
  --dark:#241A0F;--on-dark:#F2E9DD;--on-dark-soft:rgba(242,233,221,.64);
  --sans:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --fs-h2:clamp(24px,4.2vw,38px);--fs-h3:19px;--fs-body:16px;--fs-small:14px;--fs-caption:13px;
  --container:840px;--gutter:20px;
  --r-pill:99px;--r-lg:20px;--r-md:14px;--r-sm:10px;
  --t-fast:.15s;--t-med:.25s;
  --shadow-sm:0 1px 2px rgba(43,33,23,.05);--shadow-md:0 8px 24px rgba(140,90,30,.1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:var(--fs-body);line-height:1.75;word-break:keep-all;overflow-wrap:anywhere}
article.page p,article.page li,article.page td,article.page th,.callout p,.rel a,.cta-box p{overflow-wrap:anywhere}
a{color:var(--orange-text);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;border-radius:var(--r-md)}
.skip{position:absolute;left:-9999px;top:0;background:var(--dark);color:var(--on-dark);padding:10px 16px;z-index:200}
.skip:focus{left:12px;top:12px}

/* 상단 배너 + 헤더 */
.topbar{background:var(--orange);color:#fff;text-align:center;font-size:var(--fs-caption);letter-spacing:.02em;padding:9px 16px}
.topbar strong{color:#fff;font-weight:800}
.hd{position:sticky;top:0;background:rgba(36,26,15,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(242,233,221,.12);z-index:100}
.hd-in{max-width:1140px;margin:0 auto;padding:0 var(--gutter);height:96px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.hd .brand img{height:80px;width:auto;display:block;border-radius:0}
.brand{font-weight:800;font-size:17px;color:var(--ink);letter-spacing:-.01em}
.brand b{color:var(--orange-strong)}
.brand:hover{text-decoration:none}
.nav{display:none;gap:22px;font-size:var(--fs-small);font-weight:600}
.nav a{color:var(--on-dark);padding:8px 13px;border-radius:var(--r-pill);transition:background var(--t-fast),color var(--t-fast)}
.nav a:hover{background:rgba(239,128,10,.18);color:#fff;text-decoration:none}
.nav a.cta{background:var(--orange-strong);color:#fff;padding:8px 16px;border-radius:var(--r-pill)}
.menu-btn{background:none;border:1px solid rgba(242,233,221,.35);border-radius:var(--r-sm);padding:8px 12px;font-size:var(--fs-small);font-weight:700;color:var(--on-dark);cursor:pointer}
.m-nav{display:none;background:var(--dark);border-bottom:1px solid rgba(242,233,221,.12);padding:10px var(--gutter) 18px}
.m-nav.open{display:block}
.m-nav a{display:block;padding:10px 4px;color:var(--on-dark);font-weight:600;border-bottom:1px solid rgba(242,233,221,.12)}
.m-nav a:hover{color:#fff;text-decoration:none}
@media(min-width:900px){.nav{display:flex}.menu-btn{display:none}}

/* 브레드크럼 + 아티클 */
.crumb{max-width:var(--container);margin:0 auto;padding:18px var(--gutter) 0;font-size:var(--fs-caption);color:var(--muted-2)}
.crumb a{color:var(--muted)}
article.page{max-width:var(--container);margin:0 auto;padding:16px var(--gutter) 72px}
article.page h1{font-size:clamp(26px,5vw,40px);line-height:1.3;letter-spacing:-.02em;margin:10px 0 18px}
article.page h1 em{font-style:normal;color:var(--orange-strong)}
article.page .lead{font-size:17px;color:var(--muted);margin-bottom:26px}
article.page h2{font-size:var(--fs-h2);line-height:1.35;letter-spacing:-.02em;margin:56px 0 16px;padding-top:18px;border-top:1px solid var(--line)}
article.page h3{font-size:var(--fs-h3);margin:30px 0 10px;color:var(--ink)}
article.page p{margin:0 0 16px}
article.page ul,article.page ol{margin:0 0 18px 22px}
article.page li{margin-bottom:8px}
article.page strong{color:var(--ink)}
article.page figure{margin:26px 0}
article.page figcaption{font-size:var(--fs-caption);color:var(--muted-2);margin-top:8px;text-align:center}
.callout{background:var(--orange-tint);border:1px solid #F5D9B8;border-radius:var(--r-lg);padding:22px 24px;margin:32px 0}
.callout p:last-child{margin-bottom:0}
.steps{counter-reset:st;list-style:none;margin-left:0!important}
.steps li{counter-increment:st;position:relative;padding-left:52px;margin-bottom:16px}
.steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:2px;font-weight:800;color:var(--orange-strong);font-size:15px;background:var(--orange-tint);border-radius:var(--r-sm);padding:2px 8px}
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:var(--fs-small)}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--bg-soft);font-weight:700}
.faq details{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:10px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;position:relative}
.faq summary::after{content:'+';position:absolute;right:2px;color:var(--orange-strong);font-weight:800}
.faq details[open] summary::after{content:'−'}
.faq details p{padding-bottom:16px;color:var(--muted)}
.cta-box{background:var(--dark);color:var(--on-dark);border-radius:var(--r-lg);padding:34px 28px;margin:56px 0 0;text-align:center}
.cta-box h2{border:0;margin:0 0 10px;padding:0;color:#fff;font-size:22px}
.cta-box p{color:var(--on-dark-soft);margin-bottom:20px}
.btn{display:inline-block;background:var(--orange-strong);color:#fff;font-weight:700;padding:13px 26px;border-radius:var(--r-pill);transition:transform var(--t-fast)}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.rel{display:grid;gap:12px;margin-top:14px}
.rel a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}
.rel a:hover{border-color:var(--orange);text-decoration:none}
.rel a span{display:block;font-size:var(--fs-caption);color:var(--muted-2);font-weight:400;margin-top:2px}
@media(min-width:720px){.rel{grid-template-columns:1fr 1fr}}

/* 푸터 */
.ft{background:var(--dark);color:var(--on-dark);margin-top:72px}
.ft-in{max-width:1140px;margin:0 auto;padding:52px var(--gutter) 36px;display:grid;gap:32px}
.ft .brand{color:#fff;font-size:18px}
.ft .brand img{height:64px;width:auto;display:block;border-radius:0}
.ft p{font-size:var(--fs-small);color:var(--on-dark-soft);line-height:1.7}
.ft h5{font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-soft);margin-bottom:12px}
.ft ul{list-style:none}
.ft li{margin-bottom:9px}
.ft a{color:var(--on-dark);font-size:var(--fs-small)}
.ft-legal{border-top:1px solid rgba(242,233,221,.15);padding-top:22px;font-size:var(--fs-caption);color:var(--on-dark-soft)}
@media(min-width:900px){.ft-in{grid-template-columns:2fr 1fr 1fr 1fr}}
.kakao-float{position:fixed;right:18px;bottom:18px;z-index:120;background:#FEE500;color:#191919;font-weight:800;font-size:var(--fs-small);padding:12px 18px;border-radius:var(--r-pill);box-shadow:var(--shadow-md)}
.kakao-float:hover{text-decoration:none}
@media print{.topbar,.hd,.m-nav,.kakao-float,.cta-box{display:none}}

/* 보조 버튼 */
.btn-ghost{display:inline-block;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:700;padding:12px 24px;border-radius:var(--r-pill);transition:transform var(--t-fast)}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--orange);text-decoration:none}

/* 문의 폼 */
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;margin:8px 0 40px;box-shadow:var(--shadow-sm)}
.f-row{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:640px){.f-row{grid-template-columns:1fr 1fr}}
.f-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.f-row .f-field{margin-bottom:0}
.f-row{margin-bottom:18px}
.form label{font-size:var(--fs-small);font-weight:700;color:var(--ink)}
.form .req{color:var(--orange-strong);margin-left:2px}
.form input[type=text],.form input[type=tel],.form input[type=email],.form select,.form textarea{
  font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);background:var(--bg);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.form textarea{resize:vertical;line-height:1.7}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(239,128,10,.18)}
.form ::placeholder{color:var(--muted-2)}
.f-check{display:flex;gap:10px;align-items:flex-start;background:var(--orange-tint);border:1px solid #F5D9B8;border-radius:var(--r-md);padding:14px 16px;margin:4px 0 22px}
.f-check input{width:18px;height:18px;margin-top:3px;accent-color:var(--orange-strong);flex:none}
.f-check label{font-weight:600;line-height:1.6}
.f-help{display:block;font-weight:400;font-size:var(--fs-caption);color:var(--muted);margin-top:3px}
.form .btn{width:100%;justify-content:center;text-align:center}
.form button.btn{font-family:var(--sans);font-size:var(--fs-body);font-weight:700;border:none;cursor:pointer}

/* 카카오톡 간편 문의 블록 */
.quick-ask{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin:8px 0 0;box-shadow:var(--shadow-sm)}
.quick-ask h3{margin:0 0 8px!important}
.quick-ask p{color:var(--muted);margin-bottom:16px}
.quick-ask .qa-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn-kakao{display:inline-block;background:#FEE500;color:#191919;font-weight:800;padding:13px 24px;border-radius:var(--r-pill);transition:transform var(--t-fast)}
.btn-kakao:hover{transform:translateY(-2px);text-decoration:none}
.qa-tel{font-weight:700;color:var(--ink);font-size:var(--fs-small)}
.qa-tel span{display:block;font-weight:400;color:var(--muted-2);font-size:var(--fs-caption)}

/* 모바일: 3열 이상 표를 카드형 리스트로 */
@media (max-width:640px){
  .tbl-wrap{overflow-x:visible!important}
  table.tbl-cards{min-width:0!important;display:block;margin:16px 0}
  table.tbl-cards thead{display:none}
  table.tbl-cards tbody{display:block}
  table.tbl-cards tr{display:block;position:relative;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-bottom:12px;background:var(--surface);box-shadow:var(--shadow-sm)}
  table.tbl-cards td,table.tbl-cards th{display:block;border:none;padding:4px 0;background:none;text-align:left}
  table.tbl-cards tbody th{font-size:16px;font-weight:800;line-height:1.45;padding-right:38px}
  table.tbl-cards td[data-label]::before,table.tbl-cards th[data-label]::before{content:attr(data-label);display:block;font-size:var(--fs-caption);color:var(--muted-2);font-weight:700;letter-spacing:.02em}
  table.tbl-cards td.num{position:absolute;top:12px;right:14px;padding:0;font-size:var(--fs-caption);font-weight:700;color:var(--muted-2)}
}
