/* Wrap copy within cards without breaking words or changing the page layout. */
body :is(p,li,h1,h2,h3,h4,td,th){overflow-wrap:anywhere;word-break:normal;hyphens:none}
body :is(.aps-surface-glass,.aps-job-glass,.aps-culture-glass,.aps-project-glass,.aps-capability-card,.aps-press-card,.aps-record-card){min-width:0;overflow-wrap:anywhere;word-break:normal;hyphens:none}
body :is(.aps-surface-glass,.aps-job-glass,.aps-culture-glass,.aps-project-glass) > div{min-width:0}
body a[href^="mailto:"]{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:normal}
body .aps-milestone-glass p{text-wrap:pretty}

/* Keep reading surfaces within their cards without splitting words. */
html body :is(.aps-surface-glass,.aps-job-glass,.aps-culture-glass,.aps-project-glass,.aps-capability-card,.aps-press-card,.aps-record-card,.aps-proposal-glass) :is(p,li,blockquote){
  max-width:100%;min-width:0;box-sizing:border-box;white-space:normal;
  text-align-last:left;text-wrap:wrap;
  word-break:normal;overflow-wrap:break-word;hyphens:none;
}

/* Justify paragraph copy throughout the site; leave the final line natural. */
html body p,html body .aps-leader-quote{max-width:100%;min-width:0;box-sizing:border-box;white-space:normal;text-align:justify;text-align-last:left;text-justify:inter-word;text-wrap:wrap;word-break:normal;overflow-wrap:break-word;hyphens:none}

/* Readable body copy and controls at normal browser zoom. */
html body{font-size:18px}
html body :is(p,li,blockquote){font-size:22px!important;line-height:1.65!important}
html body :is(input,select,textarea){font-size:18px!important;line-height:1.5}
html body nav a{font-size:18px!important}
html body .aps-vision-copy{font-size:24px!important}

html body #capabilities .aps-capability-card p{font-size:22px!important;line-height:1.65!important}

/* Card headings only; preserve each section’s original display typography. */
html body :is(.aps-profile-card,.aps-surface-glass,.aps-project-glass,.aps-job-glass,.aps-culture-glass) :is(h2,h3){font-size:32px!important;line-height:1.2!important}

/* Keep email domains together rather than orphaning their last character. */
html body .aps-email-address{word-break:normal!important;overflow-wrap:normal!important}
html body .aps-email-domain{white-space:nowrap}
