/* Figma PC + mobile guide audit. Body typography switches at 768px;
   header/footer structural breakpoints remain independent. */
:root {
  --type-title-lg:600 20px/28px Pretendard,Arial,sans-serif;
  --type-title-md:600 18px/26px Pretendard,Arial,sans-serif;
  --type-title-sm:600 16px/24px Pretendard,Arial,sans-serif;
  --type-title-xxl:600 24px/32px Pretendard,Arial,sans-serif;
  --type-body-lg:400 18px/28px Pretendard,Arial,sans-serif;
  --type-body-md:400 16px/24px Pretendard,Arial,sans-serif;
  --type-heading-lg:700 40px/48px Pretendard,Arial,sans-serif;
  --type-heading-md:700 32px/40px Pretendard,Arial,sans-serif;
  --type-heading-sm:600 28px/36px Pretendard,Arial,sans-serif;
  --type-title-xl:600 22px/30px Pretendard,Arial,sans-serif;
  --type-reading-title-xxl:600 24px/34px Pretendard,Arial,sans-serif;
  --type-reading-title-lg:600 20px/30px Pretendard,Arial,sans-serif;
  --type-reading-title-md:600 18px/28px Pretendard,Arial,sans-serif;
  --type-reading-title-sm:600 16px/26px Pretendard,Arial,sans-serif;
  --type-reading-body-lg:400 18px/30px Pretendard,Arial,sans-serif;
  --type-reading-body-md:400 16px/26px Pretendard,Arial,sans-serif;
}
main h1,main h2,main h3 { letter-spacing:0; }
.hero h1,.section-heading h2,.cta h2,.overview h2 { font:var(--type-heading-lg); }
.hero .eyebrow,.slide .eyebrow,.section-heading .eyebrow,
.hero-description,.slide .hero-description,.section-heading .description,
.partners-section .description,.cta .description,.why>p { font:var(--type-reading-title-lg); }
.slide h1,.why h2,.crsn h2 { font:600 48px/56px Pretendard,Arial,sans-serif; }
.why .description { font:var(--type-heading-sm); }
.crsn p { font:var(--type-reading-title-xxl); }
.metric-card .description { font:var(--type-reading-title-md); }
.metrics p { font:var(--type-reading-title-sm); }
.content-card h3 { font:var(--type-title-xl); }
.card-description { font:var(--type-reading-body-md); }
.text-link { font:500 16px/20px Pretendard,Arial,sans-serif; }
.card-meta time { font:500 14px/18px Pretendard,Arial,sans-serif; }

/* About: intro is intentionally Title/SM even in the PC design. */
.company-intro h2,.mission-cards h3,.achievements h3,.history-panel h3,.location h3 { font:var(--type-heading-md); }
.company-intro p { font:var(--type-reading-title-sm); }
.overview-table th { font:var(--type-title-md); }
.overview-table td,.mission-cards p:last-child,.achievements p { font:var(--type-reading-body-lg); }
.mission-cards .eyebrow,.achievements .featured p:first-of-type,.timeline p { font:var(--type-title-lg); }
.location p { font:var(--type-reading-title-md); }
.history-panel .eyebrow { font:500 18px/22px Pretendard,Arial,sans-serif; }
.timeline time,.history-layout [role=tab] { font:500 16px/20px Pretendard,Arial,sans-serif; }

/* Capabilities: explanatory title text and regular body copy are distinct. */
.framework-title h3,.framework-title span,.capability-panel h3 { font:var(--type-heading-sm); }
.framework-card>p:not(.description),.capability-panel summary>p,.capability-panel>div>p:nth-child(2),.keymessage p:last-child { font:var(--type-reading-title-lg); }
.framework-card .description,.capability-panel>div>p:first-child { font:var(--type-reading-title-md); }
.capability-panel>div>p:nth-child(n+3),.tags span { font:500 16px/20px Pretendard,Arial,sans-serif; }
.framework-section .section-heading .description,.core-section .section-heading .description,.solution-section .differentiator .description { font:var(--type-reading-title-sm); }
.modular-section .differentiator>div>.description { font:var(--type-reading-title-xxl); }
.benefits h3,.customizations h3 { font:var(--type-title-xl); }
.benefits .description,.customizations p { font:var(--type-reading-body-lg); }
.solution-section .differentiator h3 { font:var(--type-heading-md); }
.keymessage .eyebrow { font:600 14px/20px Pretendard,Arial,sans-serif; }
.partner-card h3 { font:var(--type-heading-sm); }
.partner-card .tag { font:500 18px/22px Pretendard,Arial,sans-serif; }

/* Shared templates cover all 17 cases and all 5 press articles. */
.project-header h2 { font:var(--type-heading-md); }
.project-header .description { font:var(--type-reading-body-md); }
.project-body h3 { font:var(--type-title-xxl); }
.project-body p,.article-body { font:var(--type-reading-body-lg); }
.press-article h1 { font:var(--type-heading-lg); }
.privacy-copy h1 { font:var(--type-heading-md); }
.privacy-copy h2 { font:var(--type-title-lg); }
.privacy-copy p { font:var(--type-reading-body-md); }
.footer-meta { font:var(--type-body-md); }
.footer-legal p { font:400 14px/20px Pretendard,Arial,sans-serif; }

@media(max-width:767px) {
  .hero h1,.section-heading h2,.partners-section h2,.cta h2,.page-home .cta h2,.overview h2,
  .why h2,.crsn h2,.press-article h1,.privacy-copy h1 { font:var(--type-heading-sm); }
  .slide h1 { font:var(--type-title-xxl); }
  .hero .eyebrow,.slide .eyebrow,.section-heading .eyebrow,
  .hero-description,.slide .hero-description,.section-heading .description,
  .partners-section .description,.cta .description,.why>p,.crsn p,
  .metric-card .description,.mission-cards .eyebrow,.achievements .featured p:first-of-type,
  .timeline p,.location p,.overview-table th,
  .framework-card>p:not(.description),.framework-card .description,
  .capability-panel>div>p:first-child,.modular-section .differentiator>div>.description { font:var(--type-reading-title-sm); }
  .why .description { font:var(--type-reading-title-md); }
  .metric-card h3,.company-intro h2,.mission-cards h3,.achievements h3,.history-panel h3,.location h3,
  .framework-title h3,.framework-title span,.solution-section .differentiator h3,
  .partner-card h3,.project-header h2 { font:var(--type-title-xl); }
  .overview-table td,.mission-cards p:last-child,.achievements p,.benefits .description,
  .customizations p,.project-body p,.article-body { font:var(--type-reading-body-md); }
  .benefits h3,.customizations h3,.project-body h3 { font:var(--type-title-lg); }
  .capability-panel h3 { font:var(--type-title-xxl); }
  .metrics strong { font:var(--type-title-md); }
  .metrics p { font:600 14px/20px Pretendard,Arial,sans-serif; }
  .history-panel .eyebrow,.partner-card .tag { font:500 16px/20px Pretendard,Arial,sans-serif; }
  .timeline time { font:500 14px/18px Pretendard,Arial,sans-serif; }
}




