/*
  Anson Mae Manpower public typography refinement
  Loaded last so text sizing can be tuned without disturbing layout modules.
*/

body.skin-neumorphic.public-site {
  --step--2: 0.86rem;
  --step--1: 0.95rem;
  --step-0: 1.05rem;
  --step-1: 1.2rem;
  --step-2: 1.42rem;
  --step-3: 1.78rem;
  --step-4: 2.3rem;
  font-size: var(--step-0);
  line-height: 1.58;
}

body.skin-neumorphic.public-site :where(*) {
  letter-spacing: 0;
}

body.skin-neumorphic.public-site p,
body.skin-neumorphic.public-site li,
body.skin-neumorphic.public-site dd {
  line-height: 1.6;
}

body.skin-neumorphic.public-site .public-nav {
  grid-template-columns: minmax(14rem, auto) minmax(0, 1fr);
  gap: clamp(0.75rem, 1.4vw, 1.1rem);
}

body.skin-neumorphic.public-site .public-nav .brand-mark {
  gap: 0.75rem;
  padding-right: 0.95rem;
}

body.skin-neumorphic.public-site .public-nav .brand-title {
  font-size: 1.04rem;
  line-height: 1.1;
}

body.skin-neumorphic.public-site .public-nav .brand-subtitle {
  font-size: 0.72rem;
  line-height: 1.15;
}

body.skin-neumorphic.public-site .public-nav-links {
  gap: 0.5rem;
}

body.skin-neumorphic.public-site .public-nav-links a,
body.skin-neumorphic.public-site .primary-action,
body.skin-neumorphic.public-site .secondary-action,
body.skin-neumorphic.public-site .state-card-actions a {
  min-height: 2.9rem;
  padding: 0.72rem 0.95rem;
  font-size: 0.92rem;
  line-height: 1.18;
}

body.skin-neumorphic.public-site .hero-copy h1 {
  font-size: 5.05rem;
  line-height: 1.03;
}

body.home-page .hero-copy h1 {
  font-size: 5.35rem;
}

body.skin-neumorphic.public-site .public-hero--service .hero-copy h1 {
  font-size: 4.45rem;
}

body.skin-neumorphic.public-site .hero-copy p {
  max-width: 58ch;
  font-size: 1.24rem;
  line-height: 1.62;
}

body.home-page .hero-copy p {
  max-width: 42rem;
  font-size: 1.24rem;
}

body.skin-neumorphic.public-site .eyebrow,
body.skin-neumorphic.public-site .hero-route-choices > span,
body.skin-neumorphic.public-site .desk-ticket span,
body.skin-neumorphic.public-site .availability-facts span,
body.skin-neumorphic.public-site .state-facts dt {
  font-size: 0.88rem;
  line-height: 1.2;
}

body.skin-neumorphic.public-site .orientation-pill strong,
body.skin-neumorphic.public-site .hero-route-grid strong,
body.skin-neumorphic.public-site .arrival-step strong,
body.skin-neumorphic.public-site .state-line strong {
  font-size: 1rem;
  line-height: 1.22;
}

body.skin-neumorphic.public-site .orientation-pill span,
body.skin-neumorphic.public-site .hero-route-grid small,
body.skin-neumorphic.public-site .arrival-step span,
body.skin-neumorphic.public-site .trust-item span,
body.skin-neumorphic.public-site .info-list-item p,
body.skin-neumorphic.public-site .intake-field p,
body.skin-neumorphic.public-site .availability-stat p,
body.skin-neumorphic.public-site .availability-drawer-grid p,
body.skin-neumorphic.public-site .availability-drawer-note,
body.skin-neumorphic.public-site .availability-profile-copy p,
body.skin-neumorphic.public-site .service-path-card p,
body.skin-neumorphic.public-site .state-card p {
  font-size: 1rem;
  line-height: 1.5;
}

body.home-page .hero-route-grid small,
body.home-page .trust-item span,
body.home-page .service-path-card p,
body.home-page .home-step p {
  font-size: 1rem;
}

body.skin-neumorphic.public-site .trust-item strong,
body.skin-neumorphic.public-site .home-step strong,
body.skin-neumorphic.public-site .service-path-card h3,
body.skin-neumorphic.public-site .state-card h2,
body.skin-neumorphic.public-site .intake-field h3 {
  font-size: 1.22rem;
  line-height: 1.22;
}

body.skin-neumorphic.public-site .status-chip,
body.skin-neumorphic.public-site .route-chip,
body.skin-neumorphic.public-site .availability-tag,
body.skin-neumorphic.public-site .desk-visual-header strong,
body.skin-neumorphic.public-site .availability-facts strong {
  min-height: 2.15rem;
  font-size: 0.92rem;
  line-height: 1.18;
}

body.skin-neumorphic.public-site .section-heading p,
body.skin-neumorphic.public-site .cta-band p {
  font-size: 1.12rem;
  line-height: 1.58;
}

body.skin-neumorphic.public-site .section-heading h2 {
  font-size: clamp(2.25rem, 4.4vw, 3.65rem);
  line-height: 1.05;
  max-width: 15ch;
}

body.availability-page .section-heading h2 {
  font-size: clamp(2.35rem, 4.8vw, 3.95rem);
  max-width: 16ch;
}

body.skin-neumorphic.public-site .surface-panel > h2,
body.skin-neumorphic.public-site .public-boundary h2 {
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.12;
}

body.skin-neumorphic.public-site .email-template-box,
body.skin-neumorphic.public-site .public-footer-links a {
  font-size: 0.98rem;
}

body.skin-neumorphic.public-site .public-mobile-menu-panel a {
  min-height: 3.05rem;
  font-size: 1rem;
}

@media (max-width: 1180px) {
  body.home-page .hero-copy h1 {
    font-size: 4.65rem;
  }
}

@media (max-width: 900px) {
  body.home-page .hero-copy h1,
  body.skin-neumorphic.public-site .hero-copy h1 {
    font-size: 4rem;
  }

  body.skin-neumorphic.public-site .public-hero--service .hero-copy h1 {
    font-size: 3.55rem;
  }
}

@media (max-width: 760px) {
  body.skin-neumorphic.public-site .public-nav {
    grid-template-columns: minmax(0, 1fr) 3rem;
    gap: 0.75rem;
  }

  body.skin-neumorphic.public-site .public-nav .brand-mark {
    width: 100%;
    min-width: 0;
    gap: 0.68rem;
    padding-right: 0.72rem;
  }

  body.skin-neumorphic.public-site .public-nav .brand-title {
    font-size: 1rem;
  }

  body.skin-neumorphic.public-site .public-nav .brand-subtitle {
    font-size: 0.66rem;
    line-height: 1.08;
  }

  body.skin-neumorphic.public-site .public-mobile-menu {
    width: 3rem;
  }
}

@media (max-width: 480px) {
  body.skin-neumorphic.public-site {
    --step--2: 0.84rem;
    --step--1: 0.93rem;
    --step-0: 1.03rem;
    --step-1: 1.16rem;
    --step-2: 1.32rem;
    --step-3: 1.58rem;
    --step-4: 2rem;
  }

  body.home-page .hero-copy h1,
  body.skin-neumorphic.public-site .hero-copy h1 {
    font-size: 3.02rem;
  }

  body.skin-neumorphic.public-site .public-hero--service .hero-copy h1 {
    font-size: 2.85rem;
  }

  body.skin-neumorphic.public-site .hero-copy p,
  body.home-page .hero-copy p {
    font-size: 1.08rem;
    line-height: 1.58;
  }

  body.skin-neumorphic.public-site .section-heading h2,
  body.availability-page .section-heading h2 {
    font-size: 2.15rem;
    line-height: 1.08;
    max-width: 100%;
  }

  body.skin-neumorphic.public-site .surface-panel > h2,
  body.skin-neumorphic.public-site .public-boundary h2 {
    font-size: 1.55rem;
  }

  body.skin-neumorphic.public-site .public-nav-links a,
  body.skin-neumorphic.public-site .primary-action,
  body.skin-neumorphic.public-site .secondary-action,
  body.skin-neumorphic.public-site .state-card-actions a {
    min-height: 2.8rem;
    padding: 0.66rem 0.82rem;
    font-size: 0.92rem;
  }

  body.skin-neumorphic.public-site .hero-route-grid a {
    min-height: 4.45rem;
    padding: 0.86rem;
  }

  body.skin-neumorphic.public-site .hero-route-grid small,
  body.home-page .hero-route-grid small {
    font-size: 0.92rem;
  }
}

@media (max-width: 420px) {
  body.skin-neumorphic.public-site .public-nav {
    grid-template-columns: minmax(0, 1fr) 2.75rem;
  }

  body.skin-neumorphic.public-site .public-nav .brand-mark {
    gap: 0.58rem;
    padding-right: 0.58rem;
  }

  body.skin-neumorphic.public-site .public-nav .brand-title {
    font-size: clamp(0.78rem, 3.55vw, 0.96rem);
  }

  body.skin-neumorphic.public-site .public-nav .brand-subtitle {
    font-size: clamp(0.48rem, 2.28vw, 0.63rem);
    line-height: 1.08;
  }

  body.skin-neumorphic.public-site .public-mobile-menu {
    width: 2.75rem;
  }
}
