/* CASTING LAB v126.209 — Public Typography System
   Scope: public/user-facing pages only. Admin intentionally excluded.
   Four-size system shared by KR/JP/US/VN/TW/ID. */
:root{
  --cl-type-xl:28px;
  --cl-type-lg:20px;
  --cl-type-md:15px;
  --cl-type-sm:13px;
  --cl-line-xl:1.18;
  --cl-line-lg:1.32;
  --cl-line-md:1.45;
  --cl-line-sm:1.40;
  --cl-track-xl:-.035em;
  --cl-track-lg:-.025em;
  --cl-track-md:-.015em;
}

html,body{
  font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Noto Sans JP","Noto Sans TC","Noto Sans","Segoe UI",Arial,sans-serif;
}
body{
  font-size:var(--cl-type-md);
  line-height:var(--cl-line-md);
  letter-spacing:var(--cl-track-md);
}

/* 1. XL — page and section headlines */
body :where(h1,h2),
body :where(.page-title,.section-heading,.hero-title),
body.cl-v1-home-active .cl-v1-hero h1,
body.cl-v1-home-active .cl-v1-section-title h2,
body.project-detail-fluid-v101 .seo-content h1,
body .seo-content h1,
body .seo-list-head h1,
body .copy > h1{
  font-size:var(--cl-type-xl)!important;
  line-height:var(--cl-line-xl)!important;
  letter-spacing:var(--cl-track-xl)!important;
}

/* 2. L — card and content titles */
body :where(h3,h4),
body :where(.card-title,.project-title,.collab-title,.story-title,.item-title),
body.cl-v1-home-active .cl-v1-project-card h3,
body.cl-v1-home-active .cl-v1-collab-card h3,
body .seo-portfolio-full-v111>h2{
  font-size:var(--cl-type-lg)!important;
  line-height:var(--cl-line-lg)!important;
  letter-spacing:var(--cl-track-lg)!important;
}

/* 3. M — body copy, category labels and ordinary navigation */
body :where(p,li,dt,dd,blockquote),
body :where(.body-copy,.description,.summary,.category-label),
body.cl-v1-home-active .cl-v1-hero p,
body.cl-v1-home-active .cl-v1-section-title p,
body.cl-v1-home-active .cl-v1-more,
body.cl-v1-home-active .cl-v1-industry,
body.cl-v1-home-active .cl-v1-pay b,
body.cl-v1-home-active .cl-v1-collab-type b,
body.cl-v1-home-active .cl-v1-talent-name,
body .seo-role,
body .seo-description p,
body .seo-description h2,
body .seo-portfolio h2,
body .seo-facts dd,
body .seo-actions a,
body .seo-actions button,
body .seo-links a,
body .seo-project-menu-nav a,
body .seo-expert-menu-drawer-v12690 nav a,
body .facts b,
body .body p,
body .body h2,
body .apply{
  font-size:var(--cl-type-md)!important;
  line-height:var(--cl-line-md)!important;
  letter-spacing:var(--cl-track-md)!important;
}

/* 4. S — metadata, kickers, captions and supporting text */
body :where(small,time,figcaption),
body :where(.meta,.metadata,.caption,.eyebrow,.kicker,.helper,.hint,.subtext),
body [class*="-meta"],
body [class*="__meta"],
body.cl-v1-home-active .cl-v1-eyebrow,
body.cl-v1-home-active .cl-v1-section-title small,
body.cl-v1-home-active .cl-v1-stats,
body.cl-v1-home-active .cl-v1-stats strong,
body.cl-v1-home-active .cl-v1-talent-meta,
body.cl-v1-home-active .cl-v1-talent-stats,
body.cl-v1-home-active .cl-v1-talent-stats strong,
body.cl-v1-home-active .cl-v1-footer-desc,
body.cl-v1-home-active .cl-v1-footer-links a,
body .seo-breadcrumb,
body .seo-kicker,
body .seo-status,
body .seo-index-note,
body .seo-facts dt,
body .seo-footer,
body .author,
body .facts span{
  font-size:var(--cl-type-sm)!important;
  line-height:var(--cl-line-sm)!important;
}

/* Keep labels compact but within the four-size system. */
body :where(label),
body :where(input,textarea,select){
  font-size:var(--cl-type-md)!important;
  line-height:var(--cl-line-md)!important;
}

/* Header/footer text: typography only. Brand/logo sizing and icon glyphs are intentionally preserved. */
body :where(nav a):not(.seo-brand):not(.brand){
  line-height:var(--cl-line-md);
}
body.cl-v1-home-active .cl-v1-live-label,
body.cl-v1-home-active .cl-v1-ticker-item,
body.cl-v1-home-active .bottom .nav{
  font-size:var(--cl-type-sm)!important;
  line-height:var(--cl-line-sm)!important;
}

/* Consistent weights: hierarchy should come from weight/color rather than extra font sizes. */
body :where(h1,h2,h3,h4){font-weight:700}
body :where(p,li,dd,dt){font-weight:400}
body :where(.cl-v1-industry,.seo-kicker,.kicker,.eyebrow){font-weight:600}

/* Preserve icon-only controls and logo/brand marks. */
body :where(.seo-brand,.brand,.brand-mobile,.brand-desktop,.cl-v1-brand-tag),
body :where(.seo-head-icon,.seo-expert-menu-button-v12690,.seo-expert-menu-head-v12690 button,.seo-profile-nav-v111,.cl-v1-heart){
  line-height:1;
  letter-spacing:normal;
}
