/* studio.css — 팔레트: #F6F1E9/#FFFFFF/#2A2723/#8A6A44, Hahmlet/Pretendard, 대형 타이포 단일 컬럼 */
:root{
  --bg:#F6F1E9; --surface:#FFFFFF; --text:#2A2723; --accent:#8A6A44;
  --radius:2px; --maxw:900px;
}
*{ box-sizing:border-box; }
html{ overflow-x:hidden; }
body{ margin:0; overflow-x:hidden; background:var(--bg); color:var(--text); font-family:'Pretendard',-apple-system,'Malgun Gothic',sans-serif; line-height:1.8; }
h1,h2,h3{ font-family:'Hahmlet','Pretendard',serif; font-weight:600; letter-spacing:-.01em; text-align:left; color:var(--text); }

a{ color:#6b4f32; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }

.skip-link{ position:absolute; left:-999px; top:0; background:var(--text); color:#fff; padding:.7em 1.2em; z-index:100; border-radius:var(--radius); }
.skip-link:focus{ left:1rem; top:1rem; }

/* 헤더 — 상단 고정 */
.site-header{ position:sticky; top:0; z-index:50; background:var(--surface); border-bottom:1px solid #e7ddc9; padding:16px 24px; }
.header-inner{ max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.wordmark{ font-family:'Hahmlet','Pretendard',serif; font-weight:600; font-size:1.15rem; color:var(--text); }
.main-nav{ display:flex; gap:20px; flex-wrap:wrap; font-size:.92rem; }
.main-nav a{ color:#5c5347; border-bottom:1px solid transparent; padding-bottom:2px; }
.main-nav a:hover{ color:var(--text); border-color:var(--accent); }
.cta-tel{ border:1px solid var(--accent); border-radius:var(--radius); padding:8px 16px; font-weight:600; color:var(--accent); font-size:.9rem; white-space:nowrap; }
.cta-tel:hover{ background:var(--accent); color:#fff; }

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

/* 히어로 — 대형 타이포, 넓은 여백 */
.hero{ padding:80px 24px 64px; background:var(--bg); }
.hero h1{ font-size:clamp(2.2rem,6vw,3.4rem); line-height:1.25; margin:0; }
.hero p{ margin-top:24px; font-size:1.08rem; color:#4a4438; max-width:640px; }

section{ padding:56px 24px; }
section:nth-of-type(odd){ background:var(--surface); }
section:nth-of-type(even){ background:var(--bg); }
h2{ font-size:clamp(1.4rem,3vw,1.9rem); margin:0 0 20px; }
p{ color:#3a352c; margin:0; }
p + p{ margin-top:16px; }

.check-list{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:12px; }
.check-list li{ display:flex; gap:12px; align-items:flex-start; font-size:.98rem; color:#3a352c; }
.check-list svg{ flex:none; margin-top:4px; color:var(--accent); }

/* 이미지 — 원형 마스크 */
figure.content-figure{ margin:32px 0; text-align:center; }
figure.content-figure .frame{ width:260px; height:260px; margin:0 auto; border-radius:50%; overflow:hidden; border:1px solid #e7ddc9; }
figure.content-figure .frame img{ width:100%; height:100%; object-fit:cover; display:block; }
figure.content-figure figcaption{ margin-top:12px; font-size:.85rem; color:#6b6255; }

.cta-block{ margin:16px 0; padding:32px 28px; background:var(--surface); border:1px solid #e7ddc9; border-radius:var(--radius); }
.cta-block p{ margin-bottom:18px; }
.cta-block .cta-tel, .cta-block .cta-sms{ display:inline-block; border:1px solid var(--accent); border-radius:var(--radius); padding:10px 20px; font-weight:600; margin-right:14px; margin-top:6px; color:var(--accent); }
.cta-block .cta-tel:hover, .cta-block .cta-sms:hover{ background:var(--accent); color:#fff; }

.related{ margin-top:18px; display:flex; flex-wrap:wrap; gap:12px 20px; }
.related a{ font-size:.92rem; border-bottom:1px solid #cabb9d; padding-bottom:1px; }

footer.site-footer{ background:#2A2723; color:rgba(255,255,255,.82); padding:40px 24px; font-size:.85rem; }
.footer-inner{ max-width:1200px; margin:0 auto; }
.footer-links{ display:flex; flex-wrap:wrap; gap:8px 16px; margin-bottom:18px; }
.footer-links a{ color:rgba(255,255,255,.72); }
.footer-links a:hover{ color:#fff; }
.biz-info p{ margin:2px 0; color:rgba(255,255,255,.62); }
.footer-bottom{ margin-top:14px; color:rgba(255,255,255,.4); font-size:.78rem; }

@media (max-width:480px){
  .hero{ padding:56px 20px 48px; }
  section{ padding:40px 20px; }
  figure.content-figure .frame{ width:200px; height:200px; }
}

/* 조건 표 */
#condition-table table{ width:100%; margin-top:24px; border-collapse:collapse; background:var(--surface); }
#condition-table th, #condition-table td{ padding:14px 16px; border:1px solid #e7ddc9; text-align:left; font-size:.96rem; color:#3a352c; }
#condition-table th{ background:var(--bg); font-weight:600; color:var(--text); white-space:nowrap; }
#condition-table tbody tr:nth-child(even){ background:var(--bg); }
@media (max-width:600px){
  #condition-table table{ display:block; overflow-x:auto; white-space:nowrap; }
}

/* FAQ */
#faq .qa-list{ display:grid; gap:12px; margin-top:20px; }
#faq .qa-list details{ background:var(--surface); border:1px solid #e7ddc9; border-radius:var(--radius); padding:18px 22px; }
#faq .qa-list details[open]{ border-color:var(--accent); }
#faq .qa-list summary{ cursor:pointer; font-weight:600; font-size:1.02rem; color:var(--text); list-style:none; }
#faq .qa-list summary::-webkit-details-marker{ display:none; }
#faq .qa-list summary::after{ content:"+"; float:right; color:var(--accent); font-weight:600; }
#faq .qa-list details[open] summary::after{ content:"–"; }
#faq .qa-list details p{ margin-top:12px; color:#3a352c; font-size:.96rem; }
