/* 198: Ziwei typography follows measured Cheonmyeong 194.
   Hero: seori_codex_front.css. Teaser: rendered r2 + seori_restore192.
   Presentation only. Preserve Ziwei content, diagrams, films and events. */
body.zw195{font-family:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo",sans-serif}
body.zw195.ziwei-landing{max-width:480px}
body.zw195.ziwei-teaser{max-width:520px}
.zw195.ziwei-landing .sticky-cta{max-width:480px}
.zw195.ziwei-teaser .stickybar{max-width:520px}
.zw195.ziwei-landing :is(.z195-section,.z195-final){padding:44px 28px}
.zw195.ziwei-landing .hero .hero-inner{padding:12px 28px 31px}
.zw195.ziwei-landing .hero h1{font-family:inherit;font-size:clamp(34px,9.55vw,44px);font-weight:780;line-height:1.25;letter-spacing:-.04em;margin:0}
.zw195.ziwei-landing .hero h1 strong{font-weight:780}
.zw195.ziwei-landing .z195-kicker{font-size:14px;font-weight:650;line-height:1.7;letter-spacing:-.015em;margin:0 0 23px}
.zw195.ziwei-landing .hero .z195-kicker{font-size:15px;margin-bottom:16px}
.zw195.ziwei-landing .hero .sub{font-family:inherit;font-size:16px;font-weight:420;line-height:1.85;letter-spacing:-.02em;margin:24px 0 28px}
.zw195.ziwei-landing :is(.hero,.z195-final,.sticky-cta) .btn{font-family:inherit;font-size:16px;font-weight:730;line-height:1.5;letter-spacing:-.025em;min-height:58px;padding:16px 18px;border-radius:2px;align-items:center}
.zw195.ziwei-landing :is(.hero,.z195-final) .cta-note{font-size:13px;font-weight:400;line-height:1.8;margin:13px 0 0}
.zw195.ziwei-landing .z195-section h2{font-family:inherit;font-size:clamp(34px,9.5vw,42px);font-weight:760;line-height:1.25;letter-spacing:-.04em;margin:0 0 30px}
.zw195.ziwei-landing .z195-section h2 strong{font-weight:760}
.zw195.ziwei-landing .z195-final h2{font-family:inherit;font-size:clamp(30px,8.8vw,40px);font-weight:790;line-height:1.3;letter-spacing:-.053em;margin:0 0 30px}
.zw195.ziwei-landing .z195-final h2 strong{font-weight:790}
.zw195.ziwei-landing .z195-body{font-size:18px;font-weight:400;line-height:1.75;letter-spacing:normal}
.zw195.ziwei-landing .z195-life-line{gap:24px}
.zw195.ziwei-landing .z195-life-line>span{font-size:13px;line-height:1.8}
.zw195.ziwei-landing .z195-life-line p{font-size:21px;font-weight:620;line-height:1.65;letter-spacing:-.03em;flex:1;min-width:0}
.zw195.ziwei-landing .z195-life-line b{font-weight:700}
.zw195.ziwei-landing :is(.z195-map-caption,.z195-sample-note){font-size:14px;line-height:1.85;letter-spacing:normal}
.zw195.ziwei-landing .z195-concept-detail span{font-size:14px;font-weight:700;line-height:1.7}
.zw195.ziwei-landing .z195-concept-detail p{font-size:18px;line-height:1.75;letter-spacing:normal}
.zw195.ziwei-landing .z195-legend p{font-size:14px;line-height:1.85}
.zw195.ziwei-landing .z195-excerpt h3{font-size:27px;font-weight:770;line-height:1.4;letter-spacing:-.045em}
.zw195.ziwei-landing .z195-excerpt-row>p{font-size:18px;line-height:1.75;letter-spacing:normal}
.zw195.ziwei-landing .z195-excerpt-row>span{font-size:13px;line-height:1.8}
.zw195.ziwei-landing .z195-scope-row h3,.zw195.ziwei-landing .z195-compare b{font-size:21px;font-weight:750;line-height:1.6;letter-spacing:-.035em}
.zw195.ziwei-landing .z195-scope-row p{font-size:16px;line-height:1.75}
.zw195.ziwei-landing .z195-scope-note{font-size:16px;line-height:1.8}
.zw195.ziwei-landing .z195-compare small{font-size:14px;line-height:1.85}
/* Result: Cheonmyeong's light opening line, bold answer, compact reading rhythm. */
.zw195.ziwei-teaser .hero-cap{padding:0 28px}
.zw195.ziwei-teaser .hero-cap .plaque{margin-bottom:26px}
.zw195.ziwei-teaser .hero-cap .vname{font-family:inherit;font-size:12px;font-weight:700;line-height:1.8;letter-spacing:.02em}
.zw195.ziwei-teaser .zw-hero-heading{font-family:inherit;font-size:32px!important;font-weight:300;line-height:1.28!important;letter-spacing:-.055em;margin:0 0 24px}
.zw195.ziwei-teaser .zw-hero-heading strong{font-weight:780}
.zw195.ziwei-teaser .hero-cap .hero-key{font-size:16px;font-weight:400;line-height:1.75;letter-spacing:-.026em;padding:0;margin:0 0 28px}
.zw195.ziwei-teaser #heroMeta{font-size:12px;line-height:1.85;padding-bottom:32px}
.zw195.ziwei-teaser #ziweiContent>.card{padding:44px 28px}
.zw195.ziwei-teaser .card-h{margin-bottom:24px}
.zw195.ziwei-teaser .card-h .ko{font-family:inherit;font-size:29px;font-weight:780;line-height:1.36;letter-spacing:-.055em}
.zw195.ziwei-teaser .card-h .ko strong{font-weight:780}
.zw195.ziwei-teaser .zw-section-kicker{font-size:12px;font-weight:700;line-height:1.8;margin-bottom:26px;letter-spacing:.02em}
.zw195.ziwei-teaser .zw-section-kicker b{font-size:20px;font-weight:700}
.zw195.ziwei-teaser :is(.zw-section-intro,.zw-reading-pair dd,.zw-palace-detail p,.gung p.openp,.zw-next-answer p){font-size:16px;font-weight:400;line-height:1.75;letter-spacing:-.026em}
.zw195.ziwei-teaser .zw-section-intro{margin-bottom:20px}
.zw195.ziwei-teaser .z195-personal-lead{font-size:21px;font-weight:700;line-height:1.5;letter-spacing:-.035em;margin-bottom:24px}
.zw195.ziwei-teaser .zw-reading-pair dd b{font-size:21px;font-weight:700;line-height:1.5;letter-spacing:-.035em}
.zw195.ziwei-teaser .zw-palace-detail h3{font-size:24px;font-weight:750;line-height:1.4;letter-spacing:-.04em}
.zw195.ziwei-teaser :is(.a7cap,.sambang-cap,.zw-chart-note,.zw-palace-detail .zw-room-evidence){font-size:12px;font-weight:400;line-height:1.85;letter-spacing:-.015em}
.zw195.ziwei-teaser .zw-sign-meaning{font-size:14px;line-height:1.8;letter-spacing:-.02em}
.zw195.ziwei-teaser .zw-reading-group>summary strong{font-size:24px;font-weight:750;line-height:1.4;letter-spacing:-.04em}
.zw195.ziwei-teaser .zw-reading-group>summary small{font-size:12px;line-height:1.85}
.zw195.ziwei-teaser .gung h4 .hj{font-size:21px;line-height:1.5;font-weight:700;letter-spacing:-.035em}
.zw195.ziwei-teaser .zw-time-now strong{font-size:24px;line-height:1.4;font-weight:750;letter-spacing:-.04em}
.zw195.ziwei-teaser .zw-time-now p{font-size:16px;line-height:1.75;letter-spacing:-.026em}
/* Paid explanation follows Cheonmyeong's later paper sections. */
.zw195.ziwei-teaser :is(.zw-paid-bridge,.whyhero){padding:72px 26px}
.zw195.ziwei-teaser .zw-paid-bridge h2,.zw195.ziwei-teaser .whyhero .wt{font-family:inherit;font-size:32px;font-weight:750;line-height:1.4;letter-spacing:-.045em}
.zw195.ziwei-teaser .zw-paid-bridge h2 strong{font-weight:750}
.zw195.ziwei-teaser .zw-paid-bridge>p:not(.zw-section-kicker),.zw195.ziwei-teaser .whyhero .whyitem p{font-size:17px;line-height:1.9;letter-spacing:-.022em}
.zw195.ziwei-teaser .zw-answer-row>p,.zw195.ziwei-teaser .whyhero .whyitem h4{font-size:21px;font-weight:700;line-height:1.5;letter-spacing:-.035em}
.zw195.ziwei-teaser .zw-answer-row .zw-answer-detail{font-size:17px;font-weight:400;line-height:1.9;letter-spacing:-.022em}
.zw195.ziwei-teaser .zw-paid-bridge>.btn,.zw195.ziwei-teaser #cta button{font-family:inherit;font-size:16px;font-weight:730;line-height:1.5;letter-spacing:-.025em;min-height:58px}
.zw195 :is(.z195-scene,.z195-stars) figcaption p,.zw195.ziwei-teaser .zw-story-scene figcaption p,.zw195.ziwei-teaser .midquote .q{font-family:inherit;font-size:32px;line-height:1.4;letter-spacing:-.045em}
@media(min-width:480px){
 .zw195.ziwei-landing :is(.z195-section,.z195-final){padding:56px 32px}
 .zw195.ziwei-landing .hero .hero-inner{padding-left:32px;padding-right:32px}
 .zw195.ziwei-teaser .zw-hero-heading{font-size:36px!important}
 .zw195.ziwei-teaser .card-h .ko{font-size:32px}
}
@media(min-width:768px){
 .zw195.ziwei-teaser :is(.zw-paid-bridge,.whyhero){padding:90px 48px}
 .zw195.ziwei-teaser .zw-paid-bridge h2,.zw195.ziwei-teaser .whyhero .wt{font-size:42px}
}
@media(max-width:359px){
 .zw195.ziwei-landing :is(.z195-section,.z195-final){padding:44px 22px}
 .zw195.ziwei-landing .hero .hero-inner{padding-left:22px;padding-right:22px}
 .zw195.ziwei-landing .hero h1{font-size:32px}
 .zw195.ziwei-landing .z195-section h2{font-size:32px}
 .zw195.ziwei-landing .z195-life-line{gap:14px}
 .zw195.ziwei-landing .z195-life-line p{font-size:19px}
 .zw195.ziwei-teaser .hero-cap{padding-left:22px;padding-right:22px}
 .zw195.ziwei-teaser .zw-hero-heading{font-size:29px!important}
 .zw195.ziwei-teaser .card-h .ko{font-size:27px}
 .zw195.ziwei-teaser #ziweiContent>.card{padding:44px 22px}
 .zw195.ziwei-teaser :is(.zw-paid-bridge,.whyhero){padding:60px 22px}
 .zw195.ziwei-teaser .zw-paid-bridge h2,.zw195.ziwei-teaser .whyhero .wt{font-size:30px}
}
