/* 공통 글자 체계: 큰 제목 / 구역 제목 / 본문 / 보조문구 */
:root { --ui-font:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif; }
body { font-family:var(--ui-font); font-size:16px; font-weight:400; line-height:1.75; letter-spacing:0; }
button,input,select,textarea { font-family:var(--ui-font); letter-spacing:0; }
h1,h2,h3,h4,p { text-wrap:pretty; }
h1,h2,h3,h4 { letter-spacing:-.025em; }
.logo { font-size:18px; font-weight:800; letter-spacing:-.025em; }
.detail-intro h1,.hub-hero h1 { font-size:clamp(28px,7.2vw,36px); font-weight:800; line-height:1.3; letter-spacing:-.035em; }
.product-detail h2,.birth-title { font-size:24px; font-weight:700; line-height:1.4; letter-spacing:-.025em; }
.section-head h2,.how-it-works h2,.hub-help h2,.chapter h2 { font-size:20px; font-weight:700; line-height:1.45; }
.detail-description,.detail-story>p:not(.eyebrow) { font-size:16px; font-weight:400; line-height:1.85; }
.note,.detail-lead,.detail-package>p:not(.eyebrow) { font-size:14px; font-weight:400; line-height:1.75; letter-spacing:0; }
.t-title,.topic-title { font-weight:700; letter-spacing:-.02em; }
.birth .birth-date-picker > p:first-child,.birth .birth-time-picker > p:first-child { font-size:24px; font-weight:700; line-height:1.4; letter-spacing:-.025em; margin:24px 0 14px; }
.birth .birth-date-direct { font-size:28px; font-weight:500; letter-spacing:.025em; line-height:1.5; }
.birth .birth-time-fields input { font-size:20px; font-weight:500; letter-spacing:0; }
.birth .birth-time-fields input::placeholder { font-size:15px; font-weight:400; }
.birth .birth-time-fields > span { font-size:20px; font-weight:400; color:var(--dim); }
.birth label,.birth .inline { font-size:16px; font-weight:400; line-height:1.6; }
.birth legend { font-size:16px; font-weight:500; }
.cta,.birth .cta,.birth .step-nav button,.ask-go { font-size:16px; font-weight:700; letter-spacing:-.01em; line-height:1.5; }
.birth-steps li,.input-progress { font-size:14px; font-weight:500; line-height:1.6; }
.reading-opening { font-weight:700; letter-spacing:-.02em; }
.analysis-loading h2 { font-size:26px; font-weight:800; line-height:1.4; }
.analysis-loading .msg { font-size:15px; font-weight:400; color:var(--dim); line-height:1.7; }
.analysis-notice { font-size:15px; font-weight:600; line-height:1.7; }
.analysis-notice span,.analysis-guide strong { font-size:14px; font-weight:500; }
.analysis-guide p { font-size:15px; font-weight:400; line-height:1.75; }
.tabbar a { font-size:12px; font-weight:500; }
@media(max-width:360px) {
 .birth .birth-date-picker > p:first-child,.birth .birth-time-picker > p:first-child,.birth-title { font-size:22px; }
 .birth .birth-date-direct { font-size:26px; }
}
.note,.detail-description,.analysis-guide p { word-break:keep-all; overflow-wrap:anywhere; }
.birth fieldset > label.inline { display:flex; align-items:center; gap:8px; margin:14px 0; }
.birth fieldset > div.inline { display:flex; align-items:center; gap:20px; margin:16px 0 6px; }
.birth fieldset > div.inline label { display:inline-flex; align-items:center; gap:7px; margin:0; }
.birth input[type=checkbox],.birth input[type=radio] { width:17px; height:17px; margin:0; accent-color:var(--accent); }
