/* TechCorpLegal Global Typography v1
   Single-family system: Inter 400/500/600/700
   Purpose: normalize typography without changing substantive content or URLs.
*/
:root{
  --tcl-font-primary:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --tcl-fs-body:1.0625rem;      /* 17px desktop */
  --tcl-fs-body-mobile:1rem;    /* 16px mobile */
  --tcl-fs-h1:clamp(2.2rem,4vw,3.2rem);
  --tcl-fs-display:clamp(2.4rem,4.2vw,3.6rem);
  --tcl-fs-h2:clamp(1.65rem,2.5vw,2.15rem);
  --tcl-fs-h3:1.3rem;
  --tcl-fs-lead:1.1rem;
  --tcl-fs-card:.96rem;
  --tcl-fs-nav:.80rem;
  --tcl-fs-small:.84rem;
  --tcl-lh-body:1.7;
  --tcl-lh-heading:1.16;
}

/* One font family everywhere. */
html,
body.tcl-typography-v1,
body.tcl-typography-v1 *,
body.tcl-typography-v1 button,
body.tcl-typography-v1 input,
body.tcl-typography-v1 select,
body.tcl-typography-v1 textarea{
  font-family:var(--tcl-font-primary) !important;
}

body.tcl-typography-v1{
  font-size:var(--tcl-fs-body);
  line-height:var(--tcl-lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Heading scale. */
body.tcl-typography-v1 main h1,
body.tcl-typography-v1 .hero-h1,
body.tcl-typography-v1 .hero-title,
body.tcl-typography-v1 .p-h1,
body.tcl-typography-v1 .b09-hero h1{
  font-size:var(--tcl-fs-h1) !important;
  line-height:1.10 !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
}
body.tcl-typography-v1.tcl-homepage main h1,
body.tcl-typography-v1.tcl-homepage .hero-h1{
  font-size:var(--tcl-fs-display) !important;
}

body.tcl-typography-v1 main h2,
body.tcl-typography-v1 .b09-section h2,
body.tcl-typography-v1 .sh,
body.tcl-typography-v1 .cta-h{
  font-size:var(--tcl-fs-h2) !important;
  line-height:1.20 !important;
  font-weight:700 !important;
  letter-spacing:-.018em !important;
}
body.tcl-typography-v1 main h3{
  font-size:var(--tcl-fs-h3) !important;
  line-height:1.30 !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
}

/* Normalize long-form copy. */
body.tcl-typography-v1 main p,
body.tcl-typography-v1 main li{
  font-size:1rem !important;
  line-height:var(--tcl-lh-body) !important;
  font-weight:400;
}

/* Restore purposeful lead/hero hierarchy after the general paragraph rule. */
body.tcl-typography-v1 .hero-lede,
body.tcl-typography-v1 .hero-sub,
body.tcl-typography-v1 .hero-desc,
body.tcl-typography-v1 .hero-description,
body.tcl-typography-v1 .p-sub,
body.tcl-typography-v1 .b09-hero p{
  font-size:var(--tcl-fs-lead) !important;
  line-height:1.62 !important;
}

/* Compact text and metadata. */
body.tcl-typography-v1 .eyebrow,
body.tcl-typography-v1 .kicker,
body.tcl-typography-v1 .b09-kicker,
body.tcl-typography-v1 .b09-meta,
body.tcl-typography-v1 .b09-breadcrumb,
body.tcl-typography-v1 .breadcrumb,
body.tcl-typography-v1 .tcl-muted,
body.tcl-typography-v1 .tcl-author-line,
body.tcl-typography-v1 .tcl-stage6-review-note{
  font-size:var(--tcl-fs-small) !important;
  line-height:1.55 !important;
}

/* Cards: readable but subordinate to article body. */
body.tcl-typography-v1 .b09-card p,
body.tcl-typography-v1 .card p,
body.tcl-typography-v1 .f-desc{
  font-size:var(--tcl-fs-card) !important;
  line-height:1.62 !important;
}

/* Navigation and buttons. */
body.tcl-typography-v1 .nav-btn,
body.tcl-typography-v1 .nav-right a,
body.tcl-typography-v1 .nav-cta{
  font-size:var(--tcl-fs-nav) !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}
body.tcl-typography-v1 .dd-lbl{
  font-size:.88rem !important;
  font-weight:600 !important;
}
body.tcl-typography-v1 .dd-sub{
  font-size:.78rem !important;
  line-height:1.45 !important;
}
body.tcl-typography-v1 .b09-btn,
body.tcl-typography-v1 .btn,
body.tcl-typography-v1 a[class*="btn"]{
  font-size:.84rem !important;
  font-weight:600 !important;
  line-height:1.15 !important;
}

/* Footer hierarchy. */
body.tcl-typography-v1 footer,
body.tcl-typography-v1 footer p,
body.tcl-typography-v1 footer li,
body.tcl-typography-v1 footer a,
body.tcl-typography-v1 .f-desc,
body.tcl-typography-v1 .f-author-bio{
  font-size:.86rem !important;
  line-height:1.60 !important;
}
body.tcl-typography-v1 footer h2,
body.tcl-typography-v1 footer h3,
body.tcl-typography-v1 .footer h2,
body.tcl-typography-v1 .footer h3{
  font-size:1rem !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}

/* Preserve code/technical text. */
body.tcl-typography-v1 code,
body.tcl-typography-v1 pre,
body.tcl-typography-v1 kbd,
body.tcl-typography-v1 samp{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace !important;
}

/* Tables inherit the body system but remain compact. */
body.tcl-typography-v1 table{
  font-size:.94rem;
  line-height:1.55;
}

/* Mobile type scale. */
@media (max-width:768px){
  body.tcl-typography-v1{
    font-size:var(--tcl-fs-body-mobile);
  }
  body.tcl-typography-v1 main h1,
  body.tcl-typography-v1 .hero-h1,
  body.tcl-typography-v1 .hero-title,
  body.tcl-typography-v1 .p-h1,
  body.tcl-typography-v1 .b09-hero h1{
    font-size:clamp(2rem,9vw,2.45rem) !important;
    line-height:1.12 !important;
  }
  body.tcl-typography-v1.tcl-homepage main h1,
  body.tcl-typography-v1.tcl-homepage .hero-h1{
    font-size:clamp(2.15rem,10vw,2.7rem) !important;
  }
  body.tcl-typography-v1 main h2,
  body.tcl-typography-v1 .b09-section h2,
  body.tcl-typography-v1 .sh,
  body.tcl-typography-v1 .cta-h{
    font-size:clamp(1.5rem,6vw,1.8rem) !important;
  }
  body.tcl-typography-v1 main h3{
    font-size:1.18rem !important;
  }
  body.tcl-typography-v1 main p,
  body.tcl-typography-v1 main li{
    font-size:1rem !important;
  }
  body.tcl-typography-v1 .hero-lede,
  body.tcl-typography-v1 .hero-sub,
  body.tcl-typography-v1 .hero-desc,
  body.tcl-typography-v1 .hero-description,
  body.tcl-typography-v1 .p-sub,
  body.tcl-typography-v1 .b09-hero p{
    font-size:1.03rem !important;
  }
}
