:root {
  --type-display: clamp(48px, 4.75vw, 72px);
  --type-display-compact: clamp(44px, 4.25vw, 64px);
  --type-section: clamp(28px, 2.35vw, 36px);
  --type-feature: clamp(36px, 3.15vw, 48px);
  --type-card: 24px;
  --type-lead: 20px;
  --type-body: 18px;
  --type-small: 14px;
}

/* Shared chrome follows the restrained 14/20 px navigation scale. */
body site-header .nav,
body site-header .actions {
  font-size: var(--type-small);
  line-height: 20px;
}

body site-header .brand {
  line-height: 1;
}

body .footer-title strong {
  font-size: clamp(40px, 3.5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

body .footer-title span {
  font-size: 24px;
  line-height: 1.25;
}

body .footer-nav-group,
body .footer-contact {
  font-size: var(--type-small);
  line-height: 20px;
}

/* Home */
.page-home .hero-kicker {
  font-size: var(--type-lead);
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.page-home .hero h1 {
  font-size: var(--type-display);
  line-height: 1.08;
  letter-spacing: -0.018em;
}

.page-home .hero-lede {
  font-size: var(--type-lead);
  line-height: 1.55;
}

.page-home .platform-title,
.page-home .platform-title span {
  font-size: var(--type-section);
  line-height: 1.25;
  letter-spacing: -0.012em;
}

.page-home .workflow-showcase .workflow-label,
.page-home .section-label,
.page-home .pain-overline,
.page-home .clients-label {
  font-size: var(--type-small);
  line-height: 20px;
}

.page-home .workflow-showcase .workflow-intro h2,
.page-home .pain h2,
.page-home .dual h2 {
  font-size: var(--type-section);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.page-home .workflow-detail h3 {
  font-size: clamp(32px, 2.5vw, 40px);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.page-home .workflow-detail-summary {
  font-size: var(--type-lead);
  line-height: 1.45;
}

.page-home .workflow-detail-body {
  font-size: var(--type-body);
  line-height: 1.65;
}

.page-home .zopa-layout h2 {
  font-size: var(--type-section);
  line-height: 1.18;
  letter-spacing: -0.01em;
}

.page-home .zopa-layout p {
  font-size: var(--type-lead);
  line-height: 1.55;
}

.page-home .pain-item h3,
.page-home .dual h3 {
  font-size: var(--type-card);
  line-height: 1.3;
}

.page-home .pain-item li,
.page-home .pain-item > div > p:not(.pain-overline),
.page-home .dual .brain-note p {
  font-size: var(--type-body);
  line-height: 1.65;
}

.page-home .dual-heading > p {
  font-size: var(--type-small);
  line-height: 20px;
}

.page-home .clients h2 {
  font-size: var(--type-feature);
  line-height: 1.08;
  letter-spacing: -0.012em;
}

.page-home .clients-heading > p {
  font-size: var(--type-lead);
  line-height: 1.55;
}

/* Platform overview */
.page-platform .hero-copy h1 {
  font-size: var(--type-display-compact);
  line-height: 1.1;
  letter-spacing: -0.018em;
}

.page-platform .hero-intro p {
  font-size: var(--type-lead);
  line-height: 1.5;
}

.page-platform .section-title {
  font-size: var(--type-section);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.page-platform .infra-stat strong {
  font-size: var(--type-feature);
  line-height: 1.05;
  letter-spacing: -0.012em;
}

.page-platform .infra-stat span {
  font-size: 16px;
  line-height: 1.4;
}

.page-platform .infra-stat p {
  font-size: 16px;
  line-height: 1.65;
}

.page-platform .engine-copy h3 {
  font-size: var(--type-feature);
  line-height: 1.08;
  letter-spacing: -0.012em;
}

.page-platform .engine-copy p {
  font-size: var(--type-lead);
  line-height: 1.55;
}

.page-platform .engine-copy .ghost-button {
  font-size: var(--type-small);
  line-height: 20px;
}

.page-platform .demo-cta h2 {
  font-size: var(--type-section);
  line-height: 1.15;
}

/* Product detail pages */
.page-product .product-hero .hero-copy h1 {
  font-size: var(--type-display-compact);
  line-height: 1.1;
  letter-spacing: -0.018em;
}

.page-product .product-hero .hero-intro p {
  font-size: var(--type-lead);
  line-height: 1.5;
}

.page-product .capability-head h2 {
  font-size: var(--type-section);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.page-product .capability-head p {
  font-size: var(--type-lead);
  line-height: 1.5;
}

.page-product .feature-item h3 {
  font-size: var(--type-card);
  line-height: 1.3;
}

.page-product .feature-item p {
  font-size: var(--type-body);
  line-height: 1.6;
}

.page-product .product-cta h2 {
  font-size: var(--type-section);
  line-height: 1.15;
}

/* Solution pages */
.solution-law-page .solution-hero .hero-copy h1,
.solution-government-page .solution-hero .hero-copy h1 {
  line-height: 1.1;
  letter-spacing: -0.018em;
}

.solution-law-page .solution-hero .hero-intro p,
.solution-government-page .solution-hero .hero-intro p {
  font-size: var(--type-lead);
  line-height: 1.5;
}

.solution-law-page .value-section h2,
.solution-law-page .workflow-panel h2,
.solution-law-page .statement-copy h2,
.solution-law-page .platform-intro h2,
.solution-law-page .security-head h2,
.solution-law-page .cta-band h2,
.solution-government-page .value-section h2,
.solution-government-page .workflow-panel h2,
.solution-government-page .statement-copy h2,
.solution-government-page .platform-intro h2,
.solution-government-page .security-head h2,
.solution-government-page .cta-band h2 {
  font-size: var(--type-section);
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.solution-law-page .value-card h3,
.solution-law-page .workflow-item h3,
.solution-government-page .value-card h3,
.solution-government-page .workflow-item h3 {
  font-size: var(--type-card);
  line-height: 1.3;
}

.solution-law-page .platform-card h3,
.solution-government-page .platform-card h3 {
  font-size: var(--type-section);
  line-height: 1.12;
}

.solution-law-page .platform-card p,
.solution-law-page .security-head p,
.solution-government-page .platform-card p,
.solution-government-page .security-head p {
  font-size: var(--type-lead);
  line-height: 1.5;
}

/* About */
.page-about .about-hero h1 {
  font-size: var(--type-display);
  line-height: 1.05;
  letter-spacing: -0.018em;
}

.page-about .about-hero h2 {
  font-size: var(--type-display-compact);
  line-height: 1.14;
  letter-spacing: -0.018em;
}

.page-about .about-hero-lede {
  font-size: var(--type-lead);
  line-height: 1.6;
}

.page-about .story-heading {
  font-size: var(--type-feature);
  line-height: 1.1;
  letter-spacing: -0.012em;
}

.page-about .story-card h3 {
  font-size: var(--type-card);
  line-height: 1.3;
}

.page-about .story-card > p {
  font-size: var(--type-body);
  line-height: 1.7;
}

.page-about .belief-quote p {
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.45;
}

.page-about .workflow-showcase .workflow-label {
  font-size: var(--type-small);
  line-height: 20px;
}

.page-about .workflow-showcase .workflow-intro h2,
.page-about .pain > h2,
.page-about .tech-direction-title,
.page-about .brand-vision h2 {
  font-size: var(--type-section);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.page-about .workflow-detail h3,
.page-about .sovereignty-layout h2 {
  font-size: clamp(32px, 2.5vw, 40px);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.page-about .workflow-detail-summary,
.page-about .sovereignty-layout .subtitle {
  font-size: var(--type-lead);
  line-height: 1.45;
}

.page-about .workflow-detail-body,
.page-about .sovereignty-layout .body,
.page-about .pain-row,
.page-about .brand-vision p {
  font-size: var(--type-body);
  line-height: 1.65;
}

.page-about .pain-row-primary {
  font-size: var(--type-card);
  line-height: 1.4;
}

.page-about .tech-direction-item {
  font-size: 16px;
  line-height: 1.4;
}

.page-about .about-cta h2 {
  font-size: var(--type-feature);
  line-height: 1.12;
  letter-spacing: -0.012em;
}

.page-about .about-prefooter p {
  font-size: var(--type-section);
  line-height: 1.15;
}

/* Contact */
.page-contact .contact-page .intro h1 {
  font-size: var(--type-display-compact);
  line-height: 1.1;
  letter-spacing: -0.018em;
}

.page-contact .contact-page .intro p {
  font-size: var(--type-lead);
  line-height: 1.5;
}

.page-contact .contact-page .partner-label,
.page-contact .contact-page label,
.page-contact .contact-page .privacy,
.page-contact .contact-page .back-link {
  font-size: var(--type-small);
  line-height: 20px;
}

.page-contact .contact-page input,
.page-contact .contact-page textarea,
.page-contact .contact-page select,
.page-contact .contact-page button {
  font-size: 16px;
}

@media (max-width: 767px) {
  :root {
    --type-display: clamp(40px, 11vw, 48px);
    --type-display-compact: clamp(38px, 10.5vw, 48px);
    --type-section: 28px;
    --type-feature: 36px;
    --type-card: 24px;
    --type-lead: 18px;
    --type-body: 17px;
  }

  body .footer-title strong {
    font-size: 40px;
  }

  body .footer-title span {
    font-size: 22px;
  }

  .page-home .hero-kicker {
    font-size: 16px;
    line-height: 24px;
  }

  .page-home .hero h1,
  .page-platform .hero-copy h1,
  .page-product .product-hero .hero-copy h1,
  .page-contact .contact-page .intro h1 {
    line-height: 1.08;
  }

  .page-home .platform-title,
  .page-home .platform-title span,
  .page-home .workflow-showcase .workflow-intro h2,
  .page-home .pain h2,
  .page-home .dual h2,
  .page-platform .section-title,
  .page-product .capability-head h2,
  .page-about .workflow-showcase .workflow-intro h2,
  .page-about .pain > h2,
  .page-about .tech-direction-title,
  .page-about .brand-vision h2 {
    line-height: 1.16;
  }

  .page-home .pain-item li,
  .page-home .pain-item > div > p:not(.pain-overline),
  .page-home .dual .brain-note p,
  .page-platform .infra-stat p,
  .page-product .feature-item p,
  .page-about .story-card > p,
  .page-about .workflow-detail-body,
  .page-about .sovereignty-layout .body,
  .page-about .pain-row,
  .page-about .brand-vision p {
    line-height: 1.7;
  }

  .solution-law-page .solution-hero .hero-copy h1,
  .solution-government-page .solution-hero .hero-copy h1 {
    font-size: var(--type-display-compact) !important;
    line-height: 1.08 !important;
  }

  .solution-law-page .value-section h2,
  .solution-law-page .workflow-panel h2,
  .solution-law-page .statement-copy h2,
  .solution-law-page .platform-intro h2,
  .solution-law-page .security-head h2,
  .solution-law-page .cta-band h2,
  .solution-government-page .value-section h2,
  .solution-government-page .workflow-panel h2,
  .solution-government-page .statement-copy h2,
  .solution-government-page .platform-intro h2,
  .solution-government-page .security-head h2,
  .solution-government-page .cta-band h2 {
    font-size: var(--type-section) !important;
    line-height: 1.16 !important;
  }
}
