/* Shared final typography layer: identical metrics for EN and Chinese routes.
   CJK characters use an installed companion font; Latin fonts and all sizes
   remain shared. This file is loaded after each route's component styles. */
:root {
  --cjk-sans: "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --sans: "DM Sans", Arial, Helvetica, var(--cjk-sans);
  --display: "Manrope", Arial, Helvetica, var(--cjk-sans);
  --atlas-heading-1: clamp(2.5rem, 5.5vw, 5rem);
  --atlas-heading-2: clamp(1.8rem, 3.5vw, 3rem);
  --atlas-heading-3: clamp(1.125rem, 1.6vw, 1.375rem);
  /* Canonical inner-page scale: the approved Capabilities page. */
  --atlas-inner-title: clamp(2.25rem,3.7vw,3.5rem);
  --atlas-inner-title-leading: 1.18;
  --atlas-inner-section-title: clamp(1.75rem,2.4vw,2.125rem);
  --atlas-inner-card-title: 1.1875rem;
  --atlas-inner-gutter: clamp(1.5rem,2.25vw,2rem);
  --atlas-inner-spacing: clamp(3.5rem,5vw,4rem);
  --atlas-inner-hero-spacing: clamp(3.5rem,7vw,6rem);
}
/* Shared title capitalization; body copy and form input values keep their case. */
html#atlas-site body :is(h1,h2,h3,h4,h5,h6),
html#atlas-site body :is(.library-card-title,.hero-service-title,.footer-veteran-heading,.sim-material-title),
html#atlas-site body .home-work-card-copy strong,
html#atlas-site body .elevator-gallery figcaption {
  text-transform: capitalize;
}
html#atlas-site body :is(.capabilities-service-area,.button,.text-link,.arrow-link,.service-directory-action,.library-card-action,.footer-review-link),
html#atlas-site body main .related-services a,
html#atlas-site body main .related-next-steps a {
  text-transform: capitalize!important;
}
html#atlas-site body, html#atlas-site body :is(button,input,select,textarea), html#atlas-site body .site-footer,
html#atlas-site body .site-header :is(nav,.header-phone), html#atlas-site body .home-rebuild {
  font-family: var(--sans) !important;
}
html#atlas-site body main :is(h1,h2,h3,h4),html#atlas-site body .home-work-card-copy strong {
  font-family: var(--display) !important;
}
html#atlas-site body main h1 {margin:0 0 1.25rem!important;font-size:var(--atlas-heading-1)!important;font-weight:600!important;line-height:1.2!important;letter-spacing:-.025em!important}
html#atlas-site body main h2 {margin:0 0 1rem!important;font-size:var(--atlas-heading-2)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.025em!important}
html#atlas-site body main h3 {margin:0 0 .65rem!important;font-size:var(--atlas-heading-3)!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important}
html#atlas-site body main p {font-family:var(--sans)!important;font-size:1rem!important;line-height:1.65!important;letter-spacing:0!important}
html#atlas-site body main :is(.hero-copy,.service-lead,.home-first-lead) {font-size:1.125rem!important;line-height:1.65!important}
html#atlas-site body .home-first-surfaces {font-size:.9rem!important;line-height:1.65!important}
html#atlas-site body main :is(.button,.text-link,.arrow-link) {font-family:var(--sans)!important;font-size:.9375rem!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important}
html#atlas-site body :is(.site-header,.site-footer) .brand-name {
  display:block!important;font-family:Arial,Helvetica,var(--cjk-sans)!important;
  font-size:1rem!important;font-weight:700!important;line-height:1.02!important;
  letter-spacing:.13em!important;text-transform:uppercase!important;white-space:nowrap!important;
}
html#atlas-site body :is(.site-header,.site-footer) .brand-name small {
  display:block!important;margin-top:.3rem!important;
  font-family:Arial,Helvetica,var(--cjk-sans)!important;font-size:.62rem!important;
  font-weight:400!important;line-height:1.2!important;letter-spacing:.13em!important;
  text-transform:uppercase!important;white-space:nowrap!important;
}
@media(max-width:680px) {
  :root {--atlas-heading-1:clamp(2.125rem,8vw,3.25rem);--atlas-heading-2:clamp(1.65rem,6vw,2.25rem)}
  html#atlas-site body :is(.site-header,.site-footer) .brand-name {font-size:.88rem!important;letter-spacing:.11em!important}
  html#atlas-site body :is(.site-header,.site-footer) .brand-name small {font-size:.55rem!important;letter-spacing:.13em!important}
}
@media(max-width:390px) {
  html#atlas-site body :is(.site-header,.site-footer) .brand-name {font-size:.78rem!important;letter-spacing:.08em!important}
  html#atlas-site body :is(.site-header,.site-footer) .brand-name small {font-size:.49rem!important;letter-spacing:.1em!important}
}
@media(max-width:350px) {
  html#atlas-site body :is(.site-header,.site-footer) .brand-name {font-size:.67rem!important;letter-spacing:.04em!important}
}
