/* Final shared type layer. Adjust values in design-tokens.css, not per section. */
body { font-family:var(--font-body); font-size:var(--type-detail); font-weight:var(--weight-body); line-height:var(--leading-body); }
button,input,select,textarea { font-family:var(--font-ui); }
h1,h2,h3,h4 { font-family:var(--font-heading); font-weight:var(--weight-heading); line-height:var(--leading-heading); letter-spacing:var(--tracking-heading); overflow-wrap:break-word; }
.portfolio-page .hero h1,.pipeline-page .hero h1 {
  font-family:var(--font-heading); font-size:var(--type-hero); font-weight:var(--weight-hero);
  line-height:var(--leading-hero); letter-spacing:var(--tracking-hero);
}
.portfolio-page .hero h1 span { white-space:normal; }
.portfolio-page .hero .name { font-size:var(--type-name); font-weight:var(--weight-body); line-height:var(--leading-heading); letter-spacing:-.015em; margin-bottom:6px; }
.portfolio-page .hero .role { font-size:var(--type-support); line-height:var(--leading-compact); }
.portfolio-page .section.projects > h2,.portfolio-page .agents h2,
.portfolio-page .about h2,.portfolio-page .contact h2,
.portfolio-page .secondary-grid #community h3,.pipeline-page h2 {
  font-size:var(--type-section); font-weight:var(--weight-heading);
  line-height:var(--leading-heading); letter-spacing:var(--tracking-heading); text-wrap:balance;
}
.portfolio-page .contact h2 { max-width:14ch; }
.portfolio-page .project-overview > h3 {
  font-size:var(--type-title); font-weight:var(--weight-heading);
  line-height:var(--leading-heading); letter-spacing:-.025em; text-wrap:balance;
}
.portfolio-page .agents .agent-row h3,.pipeline-page .step-list h3,.pipeline-page .trust h3 {
  font-size:var(--type-subheading); font-weight:var(--weight-heading);
  line-height:var(--leading-heading); letter-spacing:var(--tracking-heading);
}
.portfolio-page .secondary-grid #community h2,.pipeline-page .eyebrow,.pipeline-page .example-card h3 {
  font-family:var(--font-ui); font-size:var(--type-support); font-weight:var(--weight-label);
  line-height:var(--leading-compact); letter-spacing:var(--tracking-label); text-transform:uppercase;
}
.portfolio-page .project-overview .question,.portfolio-page .agents-intro p,
.portfolio-page .about .about-copy,.portfolio-page .contact .about-copy,
.portfolio-page #community .community-copy,.pipeline-page .hero-copy,
.pipeline-page .hero-copy p,.pipeline-page .section-head p {
  font-family:var(--font-body); font-size:var(--type-body); font-weight:var(--weight-body);
  line-height:var(--leading-body); letter-spacing:normal;
}
.portfolio-page .agents .agent-row p,.portfolio-page .project-overview dd,
.portfolio-page .project-overview .build-details p,.pipeline-page .step-list p,
.pipeline-page .trust p,.pipeline-page .example-card p {
  font-family:var(--font-body); font-size:var(--type-detail); font-weight:var(--weight-body);
  line-height:var(--leading-body); letter-spacing:normal;
}
.portfolio-page .agents .agent-row p { line-height:var(--leading-compact); }
.portfolio-page .project-overview dt,.portfolio-page .project-details summary,
.portfolio-page .project-overview .status,.portfolio-page .project-overview .tv-access-note {
  font-size:var(--type-support); line-height:var(--leading-compact);
}
.portfolio-page .project-overview dt { font-weight:var(--weight-label); margin-bottom:var(--space-detail-label); }
.portfolio-page .project-overview .project-details summary { font-weight:var(--weight-body); }
.portfolio-page .project-overview .tv-project-story dl > div { padding:var(--space-detail-block) 0; }
.site-header nav a { font-family:var(--font-ui); font-size:var(--type-nav); font-weight:var(--weight-body); line-height:var(--leading-compact); }
.site-header nav a[aria-current="location"] { font-weight:var(--weight-label); }
.portfolio-page .project-overview .tv-project-launch,.portfolio-page .shield-actions .shield-watch,
.portfolio-page .project-overview .shield-pipeline-link,.portfolio-page .about-actions a,
.portfolio-page .contact-link,.pipeline-page .end a,.portfolio-page .gallery-original {
  font-family:var(--font-ui); font-size:var(--type-support); font-weight:var(--weight-action); line-height:var(--leading-compact);
}
.portfolio-page .project-overview .shield-pipeline-link { color:var(--rust-text); }
.portfolio-page .contact-link { min-height:44px; display:inline-flex; align-items:center; }
.portfolio-page .contact-email { font-family:var(--font-heading); font-size:var(--type-email); font-weight:var(--weight-heading); line-height:var(--leading-heading); }
.portfolio-page #community .community-update,.portfolio-page .project-overview .shield-demo-note,
.portfolio-page .shield-watch .demo-length,.portfolio-page .site-carousel-open span,
.portfolio-page .gallery-caption,.portfolio-page .gallery-count,.portfolio-page .shield-video-dialog p,
.pipeline-page .footnote,.pipeline-page .example-card .aside,.pipeline-page .flow small,
.pipeline-page .spec span,.pipeline-page .status,.pipeline-page .step-list .number,footer {
  font-family:var(--font-ui); font-size:var(--type-caption); line-height:var(--leading-compact);
}
.portfolio-page .site-carousel-open span,.portfolio-page .gallery-count { font-weight:var(--weight-heading); }
.portfolio-page .gallery-dialog-bar h2,.portfolio-page .shield-video-dialog .shield-video-bar h2 {
  font-family:var(--font-heading); font-size:var(--type-dialog-title); font-weight:var(--weight-heading); line-height:var(--leading-heading);
}
.portfolio-page .gallery-close,.portfolio-page .shield-video-close { font-size:var(--type-caption); font-weight:var(--weight-action); line-height:var(--leading-compact); }
.portfolio-page .gallery-dialog-actions button { font-size:var(--type-control); }
.pipeline-page .flow span { font-size:var(--type-caption); font-weight:var(--weight-label); line-height:var(--leading-compact); letter-spacing:var(--tracking-label); }
.pipeline-page .flow strong { font-family:var(--font-heading); font-size:var(--type-detail); font-weight:var(--weight-heading); line-height:var(--leading-heading); }
.portfolio-page .about h2,.portfolio-page .secondary-grid #community h3,
.pipeline-page .trust h3,.pipeline-page .example-card h3 { margin-bottom:var(--space-heading-copy); }
.portfolio-page .agents-intro p { margin-top:var(--space-heading-copy); }
.portfolio-page #community .community-copy { margin-top:0; }
.portfolio-page #community .community-copy + .community-copy,.portfolio-page .about-copy + .about-copy,
.pipeline-page .hero-copy p + p,.pipeline-page .step-list p + p { margin-top:var(--space-paragraph); }
.portfolio-page #community .community-update { margin-top:var(--space-paragraph); }
@media (max-width:760px) {
  .portfolio-page .hero .name { margin-bottom:2px; }
  .portfolio-page .about h2 { max-width:calc(100% - 134px); }
}
@media (max-width:420px) {
  /* Stack before another font makes the heading column too narrow. */
  .portfolio-page .about-identity { position:static; display:flex; justify-content:center; width:auto; height:auto; margin-bottom:var(--space-paragraph); }
  .portfolio-page .about h2 { max-width:none; min-height:0; display:block; }
}

.portfolio-page .hero .motion-control { font-family:var(--font-ui); font-size:var(--type-caption); font-weight:var(--weight-action); line-height:var(--leading-compact); }
