/* CiteOn style guide — shared role-based typography and spacing, loaded last. */
:root{--type-display:clamp(65px,7.1vw,105px);--type-hero:clamp(42px,5.7vw,70px);--type-section:clamp(32px,4.2vw,58px);--type-subsection:28px;--type-card:24px;--type-step:22px;--type-body:16px;--type-lead:17px;--type-card-body:15px;--type-compact:14px;--type-label:11px;--leading-display:1.02;--leading-heading:1.2;--leading-card:1.4;--leading-body:1.85;--section-space:96px;--content-gap:40px;--heading-gap:24px;--item-gap:24px}
body{font-size:var(--type-body);line-height:var(--leading-body)}
#main .hero h1{font-size:var(--type-hero);line-height:var(--leading-heading);letter-spacing:-.06em;font-weight:780;margin:0 0 32px}
#main .home-hero-layout .poster-title{font-size:var(--type-display);line-height:var(--leading-display);margin:0 0 32px}
#main .home-hero-layout h2{font-size:var(--type-card);line-height:1.5;margin:0 0 20px}
#main .section-head h2,#main .block>.wrap>h2,#main .cta h2{font-size:var(--type-section);line-height:var(--leading-heading);letter-spacing:-.06em;font-weight:750;margin:0}
#main .block>.wrap>h2{margin-bottom:var(--content-gap)}
#main .cta h2{margin-bottom:var(--heading-gap)}
#main .section-head,#main.package-detail-page .section-head{padding-bottom:32px;margin-bottom:var(--content-gap)}
#main .section-head h2,#main.package-detail-page .section-head h2{margin-bottom:0}
#main .section-head .eyebrow,#main .hero .eyebrow,#main .block>.wrap>.eyebrow{font-size:var(--type-label);line-height:1.5;margin:0 0 var(--heading-gap);letter-spacing:.09em}
#main .section-head+*,#main.package-detail-page .section-head+*{margin-top:0}
#main.about-page .section-head,#main .method-section .section-head,#main .block:has(.faq-layout) .section-head{padding-bottom:0;border-bottom:0}
#main .lead{font-size:var(--type-lead);line-height:var(--leading-body);margin-bottom:32px}
#main .hero-description,#main .about-narrative p,#main .journey-intro,#main .company-journey-heading>p:last-child,#main .cta p{font-size:var(--type-body);line-height:var(--leading-body)}
#main .card h3,#main .home-questions .card h3,#main .about-strengths h3,#main .platform-box h3,#main .execution-channel-grid h3,#main .method-foundations h3,#main .method-quality h3,#main .answer-analysis-grid h3{font-size:var(--type-card);line-height:var(--leading-card);letter-spacing:-.04em;font-weight:650;margin:20px 0 16px}
#main .step h3,#main .journey-item h3{font-size:var(--type-step);line-height:var(--leading-card);letter-spacing:-.035em}
#main .card p,#main .home-questions .card p,#main .about-strengths p,#main .journey-item p,#main .execution-channel-grid p,#main .method-foundations p,#main .method-quality p,#main .answer-analysis-grid p,#main .platform-box p{font-size:var(--type-card-body);line-height:var(--leading-body)}
#main .step p,#main .execution-channel-grid li,#main .research-sequence p,#main .tech-feature-list span,#main .faq-list p{font-size:var(--type-compact);line-height:var(--leading-body)}
#main .company-journey-heading h3,#main .case-body h3,#main .guest-national-heading h3{font-size:var(--type-subsection);line-height:var(--leading-card);letter-spacing:-.04em}
#main .hospitality-demo-copy h3,#main .guest-story-scene h3,#main .guest-national-grid h4{font-size:var(--type-card);line-height:var(--leading-card);letter-spacing:-.04em}
#main .hospitality-demo-copy p,#main .guest-story-scene p,#main .guest-national-grid p{font-size:var(--type-compact);line-height:var(--leading-body)}
#main .caption,#main .tech-kicker,#main .tag,#main .number{font-size:var(--type-label);line-height:1.6}
#main .block>.wrap>:last-child{margin-bottom:0}
#main .grid,#main .package-card-grid,#main .about-strengths{gap:var(--item-gap)}
#main .steps,#main.package-detail-page .steps{margin-top:32px}
#main .section-head+.steps,#main.package-detail-page .section-head+.steps{margin-top:0}
#main .faq-layout{margin-top:0}
@media(max-width:800px){:root{--type-display:clamp(58px,13vw,90px);--type-hero:clamp(36px,7.8vw,60px);--type-section:32px;--type-subsection:24px;--type-card:21px;--type-step:20px;--type-body:15px;--type-lead:16px;--type-card-body:14px;--section-space:64px;--content-gap:28px;--heading-gap:20px;--item-gap:20px}#main .section-head,#main.package-detail-page .section-head{padding-bottom:24px;margin-bottom:var(--content-gap)}#main.about-page .section-head,#main .method-section .section-head,#main .block:has(.faq-layout) .section-head{padding-bottom:0}#main .hero h1,#main .home-hero-layout .poster-title{margin-bottom:24px}#main .lead{margin-bottom:24px}#main .steps,#main.package-detail-page .steps{margin-top:24px}#main .section-head+.steps,#main.package-detail-page .section-head+.steps{margin-top:0}}
/* 섹션 헤드 간격 재조정 (헤드 아래 가로선 제거에 맞춤): 설명 문장이 바로 오면 28px, 카드·단계 목록이 오면 40px */
#main .section-head,#main.package-detail-page .section-head{padding-bottom:0;margin-bottom:40px}
#main .section-head+.lead,#main.package-detail-page .section-head+.lead{margin-top:-12px}
@media(max-width:800px){
  #main .section-head,#main.package-detail-page .section-head{padding-bottom:0;margin-bottom:28px}
  #main .section-head+.lead,#main.package-detail-page .section-head+.lead{margin-top:-8px}
}
