/* Reading hierarchy shared by the live pages. Spacing follows the 8px grid. */
:root {
  --type-copy: 17px;
  --type-leading: 1.65;
  --type-measure: 64ch;
  --type-lead-measure: 60ch;
}
html { text-rendering: optimizeLegibility; }
body { font-size: var(--type-copy); line-height: var(--type-leading); }
main h1, main h2, main h3 { text-wrap: balance; }
main h1 { line-height: 1.12; letter-spacing: -.04em; }
main h2 { line-height: 1.12; letter-spacing: -.04em; }
main h3 { line-height: 1.22; letter-spacing: -.025em; }
main p, main li { text-wrap: pretty; }
.kicker, .eyebrow, .company-eyebrow, .number, .role-eyebrow,
.usecase-number, .capture-row > span, .case-row > span {
  line-height: 1.4;
  letter-spacing: .08em;
}
.button, .text-link, .back-link { line-height: 1.35; }
.nav-links, .login, .header-links, .legal-industries summary,
.footer-col a, .footer-links a { line-height: 1.45; }
.footer-brand-block p, .footer-copy, .footer-brand p { line-height: 1.6; }
.footer-col h4 { line-height: 1.4; letter-spacing: .08em; }
.footer-bottom { line-height: 1.5; }

/* Homepage and company: lead, section copy, and answers use stable measures. */
.hero:not(.industry-hero) h1 { line-height: 1.12; }
.hero:not(.industry-hero) .hero-lead {
  line-height: 1.6;
  font-size: clamp(17px, 1.4vw, 19px);
}
.hero-split .hero-lead { max-width: 100%; }
.hero-audience { line-height: 1.4; font-weight: 600; }
.section-lead, .image-copy > p, .integration-head p,
.company-teaser p, .faq-intro p, .company-logo-note p {
  max-width: var(--type-lead-measure);
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.65;
}
.product-heading h2, .integration-head h2, .faq-intro h2,
.team-head h2, .company-teaser h2 { margin-bottom: 24px; }
.product-heading h2 { margin-bottom: 0; }
.context-copy h3 { font-size: clamp(32px, 3.2vw, 50px); line-height: 1.17; }
.context-copy > p:not(.outcome) {
  max-width: 60ch;
  margin-bottom: 16px;
  font-size: 17px;
  line-height: 1.65;
}
.context-copy > .outcome {
  max-width: 60ch;
  margin-top: 24px;
  padding-top: 16px;
  font-size: 15px !important;
  line-height: 1.55;
}
.principle h2 { line-height: 1.1; letter-spacing: -.045em; }
.principle-copy { max-width: var(--type-measure); line-height: 1.65; }
.faq-item summary { line-height: 1.45; }
.faq-item p { max-width: var(--type-measure); line-height: 1.65; }
.talk-card h3 { line-height: 1.2; }
.talk-card p { line-height: 1.6; }

/* Industry stories: the same hierarchy, sized for their narrower copy columns. */
.industry-hero h1, .overview-hero h1 {
  margin-bottom: 24px;
  font-size: clamp(40px, 5vw, 76px);
  line-height: 1.12;
  letter-spacing: -.04em;
  word-spacing: normal;
}
.industry-hero .kicker, .overview-hero .kicker { margin-bottom: 32px; }
.industry-hero .hero-lead, .overview-hero p {
  max-width: var(--type-lead-measure);
  margin-bottom: 32px;
  font-size: clamp(18px, 1.4vw, 20px);
  line-height: 1.6;
}
.capture-head h2, .process h2, .cases h2, .final-cta h2,
.stakeholder-heading h2 { line-height: 1.12; letter-spacing: -.04em; }
.capture-head p, .cases-head p, .stakeholder-heading > p,
.final-cta p { max-width: 60ch; font-size: 18px; line-height: 1.6; }
.capture-row h3, .process-step h3, .case-row h3,
.usecase h3, .shared-context h3 { line-height: 1.25; letter-spacing: -.025em; }
.capture-row p, .case-row p, .process-step p,
.stakeholder-copy p, .shared-context p, .usecase-content p,
.ecosystem-note p { line-height: 1.65; }
.stakeholder-copy p { max-width: var(--type-measure); margin-bottom: 16px; }
.stakeholder-copy .role-detail { margin-top: 24px; }
.case-row p { font-size: 16px; }
.process-step p { font-size: 16px; }

/* Legal copy stays formal and receives a comfortable long-form measure. */
.page-intro h1 {
  max-width: 14ch;
  margin-bottom: 24px;
  font-size: clamp(48px, 6.5vw, 80px);
  line-height: 1.1;
  letter-spacing: -.045em;
}
.page-intro .intro-lead { max-width: var(--type-lead-measure); line-height: 1.6; }
.legal-section h2 { line-height: 1.22; letter-spacing: -.03em; }
.legal-section h3 { margin: 32px 0 16px; line-height: 1.3; }
.legal-section p, .legal-section li {
  max-width: var(--type-measure);
  margin-bottom: 16px;
  line-height: 1.7;
}
.legal-section li { margin-bottom: 8px; }
.contents a { line-height: 1.45; }

@media (max-width: 980px) {
  .hero-split .hero-lead { white-space: normal; }
  .context-copy h3 { font-size: clamp(30px, 5vw, 44px); }
}
@media (max-width: 660px) {
  :root { --type-copy: 16px; --type-leading: 1.6; }
  main h1 { line-height: 1.14; letter-spacing: -.035em; }
  main h2 { line-height: 1.16; letter-spacing: -.035em; }
  main h3 { line-height: 1.24; }
  .hero:not(.industry-hero) .hero-lead,
  .section-lead, .image-copy > p, .integration-head p,
  .company-teaser p, .faq-intro p { font-size: 17px; line-height: 1.6; }
  .context-copy h3 { font-size: clamp(29px, 8vw, 38px); }
  .context-copy > p:not(.outcome) { font-size: 16px; line-height: 1.65; }
  .context-copy > .outcome { font-size: 14px !important; }
  .industry-hero h1, .overview-hero h1 { font-size: clamp(38px, 9vw, 56px); }
  .industry-hero .hero-lead, .overview-hero p { font-size: 17px; line-height: 1.6; }
  .capture-head p, .cases-head p, .stakeholder-heading > p,
  .final-cta p { font-size: 17px; }
  .page-intro h1 { font-size: clamp(43px, 11vw, 62px); }
  .legal-section p, .legal-section li { line-height: 1.65; }
}

/* Homepage sector line above the headline, without a pill. */
.hero-split { padding-top: 184px; }
.hero-split .hero-sector {
  max-width: 100%;
  margin: 0 auto 24px;
  color: var(--apple);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
}
@media (max-width: 980px) { .hero-split { padding-top: 176px; } }
@media (max-width: 660px) {
  .hero-split { padding-top: 136px; }
  .hero-split .hero-sector { margin-bottom: 16px; font-size: 14px; }
}

/* Homepage hero proportions informed by the monday.com reference. */
.hero-split h1 {
  font-size: 4.5rem;
  line-height: 1.2;
  letter-spacing: -.04em;
  margin-bottom: 24px;
}
.hero-split .hero-copy .hero-lead {
  font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
  line-height: 1.5;
  white-space: normal;
}
.hero-split .hero-actions { margin-top: 32px; gap: 24px; }
.hero-split .hero-actions > .button,
.hero-split .hero-actions > .text-link {
  min-height: 56px;
  font-size: 1rem;
  line-height: 1.5;
}
.hero-split .hero-actions > .button { padding: 14px 32px; }
@media (min-width: 1440px) { .hero-split h1 { font-size: 5rem; } }
@media (max-width: 980px) { .hero-split h1 { font-size: 4rem; } }
@media (max-width: 767px) {
  .hero-split h1 { font-size: 2.5rem; }
  .hero-split .hero-copy .hero-lead { font-size: 1.125rem; }
  .hero-split .hero-actions { gap: 16px; margin-top: 24px; }
  .hero-split .hero-actions > .button { padding-inline: 24px; }
}
@media (max-width: 479px) {
  .hero-split h1 { font-size: clamp(1.75rem, .25rem + 7.5vw, 2.5rem); }
  .hero-split .hero-copy .hero-lead { font-size: 1rem; }
}

.hero-split .hero-actions > .text-link { border-bottom: 0; text-decoration: none; }
