/* specialist.css — 팔레트: #101010/#1E1E1E/#F7F3E8/#BFA25A, Song Myung/Noto Sans KR, 다크 풀스크린 섹션 스냅 */
:root{
  --bg:#101010; --surface:#1E1E1E; --text:#F7F3E8; --accent:#BFA25A;
  --radius:6px; --maxw:640px; --border:#3A3A3A;
}
html{ background:var(--bg); scroll-snap-type:y proximity; scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--text); font-family:'Noto Sans KR',-apple-system,'Malgun Gothic',sans-serif; line-height:1.8; }
h1,h2{ font-family:'Song Myung','Noto Sans KR',serif; letter-spacing:.01em; text-align:center; }

.skip-link{ position:absolute; left:-999px; top:0; background:var(--accent); color:#101010; padding:.6em 1em; z-index:100; border-radius:var(--radius); }
.skip-link:focus-visible{ left:1rem; top:1rem; }

:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; }

/* 헤더 — 스크롤 시 축소 */
.site-header{ position:sticky; top:0; z-index:50; background:rgba(16,16,16,.94); border-bottom:1px solid var(--border); padding:20px; transition:padding .25s ease, box-shadow .25s ease; backdrop-filter:blur(6px); }
.site-header.is-shrunk{ padding:10px 20px; box-shadow:0 4px 16px rgba(0,0,0,.5); }
.header-inner{ max-width:1120px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.wordmark{ font-family:'Song Myung','Noto Sans KR',serif; font-size:1.1rem; color:var(--text); }
.main-nav{ display:flex; gap:18px; flex-wrap:wrap; font-size:.9rem; }
.main-nav a{ color:#C9C4B6; border-bottom:1px solid transparent; padding-bottom:2px; }
.main-nav a:hover, .main-nav a[aria-current="page"]{ color:var(--accent); border-color:var(--accent); }
.header-inner .cta-tel{ background:var(--accent); color:#101010; font-weight:700; padding:.6em 1.2em; border-radius:var(--radius); font-size:.88rem; white-space:nowrap; }
.header-inner .cta-tel:hover{ opacity:.88; }

main{ max-width:var(--maxw); margin:0 auto; padding:0 20px; }

.snap-section{ scroll-snap-align:start; scroll-margin-top:76px; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:48px 0; border-top:1px solid var(--border); }
.snap-section:first-of-type{ border-top:0; }

.hero h1{ font-size:clamp(1.7rem,4.5vw,2.5rem); }
.hero p{ margin-top:18px; color:#D9D4C7; font-size:1.02rem; text-align:center; }

h2{ font-size:1.35rem; color:var(--text); }
h2 + p, h2 + ul, h2 + .check-list{ margin-top:16px; }
p{ color:#D9D4C7; }
p + p{ margin-top:14px; }
a{ color:var(--accent); }
main p a{ text-decoration:underline; text-underline-offset:3px; }

.check-list{ display:grid; gap:12px; margin-top:16px; }
.check-list li{ display:flex; gap:10px; align-items:flex-start; font-size:.95rem; color:#D9D4C7; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:12px 14px; }
.check-list svg{ flex:none; margin-top:2px; color:var(--accent); }

figure.content-figure{ margin:28px auto; text-align:center; }
figure.content-figure img{ margin:0 auto; border:1px solid var(--border); border-radius:var(--radius); }
figure.content-figure figcaption{ margin-top:8px; font-size:.82rem; color:#A8A296; }

.cta-block{ margin:32px 0; padding:24px 20px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); text-align:center; }
.cta-block p{ margin-bottom:14px; }
.cta-tel, .cta-sms{ display:inline-block; margin:4px 8px; font-weight:700; padding:.7em 1.4em; border-radius:var(--radius); font-size:.92rem; }
.cta-block .cta-tel{ background:var(--accent); color:#101010; }
.cta-block .cta-sms{ background:transparent; color:var(--accent); border:1px solid var(--accent); }
.cta-block .cta-tel:hover, .cta-block .cta-sms:hover{ opacity:.85; }

.related{ margin-top:16px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 18px; }
.related a{ font-size:.9rem; border-bottom:1px solid var(--border); padding-bottom:1px; text-decoration:none; }
.related a:hover{ border-color:var(--accent); }

footer.site-footer{ background:#000; color:rgba(247,243,232,.8); padding:36px 20px; font-size:.85rem; scroll-snap-align:start; }
.footer-inner{ max-width:1120px; margin:0 auto; }
.footer-links{ display:flex; flex-wrap:wrap; gap:8px 16px; margin-bottom:18px; }
.footer-links a{ color:rgba(247,243,232,.68); }
.footer-links a:hover{ color:var(--accent); }
.biz-info p{ margin:2px 0; color:rgba(247,243,232,.55); }
.footer-bottom{ margin-top:14px; color:rgba(247,243,232,.38); font-size:.78rem; }

/* FAQ */
#faq .qa-list{ display:grid; gap:12px; margin-top:16px; }
#faq details{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:4px 16px; }
#faq details[open]{ border-color:var(--accent); }
#faq summary{ cursor:pointer; list-style:none; padding:14px 28px 14px 0; font-weight:700; color:var(--text); font-size:.98rem; position:relative; }
#faq summary::-webkit-details-marker{ display:none; }
#faq summary::after{ content:"+"; position:absolute; right:2px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:1.2rem; font-weight:400; }
#faq details[open] summary::after{ content:"\2212"; }
#faq details p{ padding-bottom:16px; margin-top:-4px; color:#D9D4C7; font-size:.95rem; }

@media (max-width:600px){
  .header-inner{ gap:10px; }
  .main-nav{ gap:12px; font-size:.85rem; }
  .snap-section{ padding:36px 0; }
}

/* 표 — 전문업체 작업 기준 */
#standard-table{ overflow-x:auto; }
#standard-table table{ width:100%; margin-top:16px; border-collapse:collapse; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; font-size:.92rem; }
#standard-table th, #standard-table td{ padding:12px 14px; text-align:left; border-bottom:1px solid var(--border); color:#D9D4C7; }
#standard-table thead th{ background:#151515; color:var(--accent); font-weight:700; border-bottom:2px solid var(--accent); white-space:nowrap; }
#standard-table tbody tr:last-child td{ border-bottom:0; }
#standard-table tbody tr:hover{ background:rgba(191,162,90,.08); }
#standard-table td:first-child{ color:var(--text); font-weight:700; white-space:nowrap; }

@media (max-width:600px){
  #standard-table{ -webkit-overflow-scrolling:touch; }
  #standard-table table{ min-width:480px; }
}
