/* Shared hierarchy: strong headings, readable supporting copy.
   Weight overrides intentionally win over legacy section-specific rules. */
body{font-family:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif}
#main h1{font-weight:600!important;letter-spacing:-.035em}
#main h2{font-weight:600!important;letter-spacing:-.03em}
#main h3{font-weight:600!important;letter-spacing:-.02em}
#main :is(.editorial-title,.detail-title-row h1){line-height:1.3}
#main :is(.editorial-summary p,.corporate-description,.competency-lead,.areas-heading>p,.area-summary,.step-description,.about-bottom p,.section-aside,.expertise-title>p,.service-body p,.process-grid p,.contact-bottom p,.lead,.story-columns p,.detail-intro p){font-weight:400!important;line-height:1.85}
.corporate-page #main #company-overview .editorial-summary p{font-size:15px;color:#687180}
.corporate-page #main #company-overview .editorial-card p{font-size:13px;color:#687180;font-weight:400;line-height:1.8}
.corporate-page #main :is(.corporate-description,.area-summary,.step-description){color:#687180}
.corporate-page #main .corporate-heading{gap:32px}
#main :is(.competency-points,.competency-flow,.area-card li){font-weight:400;line-height:1.85}
#main :is(.corporate-label,.section-label,.section-kicker,.editorial-number,.competency-index,.area-number,.step-english){font-weight:500}
/* Keep card headings subordinate to chapter titles and supporting copy readable. */
.corporate-page #main #company-overview .editorial-title{font-size:clamp(30px,3.5vw,54px);line-height:1.35;letter-spacing:-.035em}
.corporate-page #main #company-overview .editorial-cards .editorial-card h2{font-size:23px;line-height:1.45;letter-spacing:-.025em}
.corporate-page #main #competencies .competency-box h3{font-size:clamp(18px,1.3vw,21px);line-height:1.55;letter-spacing:-.02em}
.corporate-page #main #business-areas h3{font-size:23px;line-height:1.45;letter-spacing:-.025em}
.corporate-page #main #company-process h3{font-size:20px;line-height:1.5;letter-spacing:-.02em}
#main :is(.editorial-summary p,.corporate-description,.competency-lead,.area-summary,.step-description,.lead,.story-columns p){letter-spacing:-.01em}
#company-overview .editorial-cards .editorial-card .editorial-number,
#competencies .competency-box .competency-name,
#business-areas .area-number,
#company-process .step-english{font-weight:400;letter-spacing:.025em;line-height:1.65}
#competencies .competency-box :is(.competency-points,.competency-flow){font-size:13px;line-height:1.8}
#main :is(.corporate-label,.section-label,.section-kicker){letter-spacing:.045em}
#main h1 em,#main h2 em{font-weight:inherit}
@media(max-width:760px){
 .corporate-page #main #company-overview .editorial-summary p{font-size:14px}
 .corporate-page #main #company-overview .editorial-cards .editorial-card h2,
 .corporate-page #main #business-areas h3{font-size:21px}
}
/* Process copy starts on common baselines, without vertical centering. */
@media(max-width:760px){#company-process .construction-steps{margin-top:48px}}
#company-process .construction-steps>li:focus-visible{outline:2px solid #99b7fc;outline-offset:8px;border-radius:4px}
@media(hover:hover) and (pointer:fine){
 #main #company-process .step-description{opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .3s ease}
 #main #company-process .construction-steps>li:hover .step-description,
 #main #company-process .construction-steps>li:focus-within .step-description{opacity:1;transform:translateY(0)}
 #company-process .step-node{transition:background-color .25s ease,border-color .25s ease,color .25s ease}
 #company-process .construction-steps>li:hover .step-node,
 #company-process .construction-steps>li:focus-within .step-node{background:#3965fa;border-color:#3965fa;color:#fff}
 #company-process .construction-steps>li:hover .step-node .step-number,
 #company-process .construction-steps>li:focus-within .step-node .step-number{background:#fff;color:#3965fa;border-color:#3965fa}
}
@media(prefers-reduced-motion:reduce){
 #main #company-process .step-description{transition:none;transform:none}
 #company-process .step-node{transition:none}
}
.home-page #about .about-content h2 .muted{color:var(--primary-blue)}
#company-process .step-english{display:block;min-height:0;margin:22px 0 12px;line-height:1.5}
.corporate-page #main #company-process h3{display:block;min-height:2.8em;margin:0 0 12px;line-height:1.4}
#main #company-process .step-description{line-height:1.65;margin:0}
@media(max-width:1050px){
 #company-process .step-english{margin-top:0;margin-bottom:8px}
 .corporate-page #main #company-process h3{min-height:0;margin-bottom:10px}
}
