/* Public mobile layout. Desktop rules and application behaviour stay unchanged. */
@media (max-width: 820px) {
  .site-header--pt { min-height: 76px; padding: 10px 16px; }
  .site-header__bar .brand { flex: 1; min-width: 0; }
  .site-header__bar .brand-logo { max-width: 100%; height: 48px; }
  .header-actions { flex-shrink: 0; gap: 8px; }
  .site-header--pt nav:not(.is-open) { margin-top: 0; border-width: 0; }

  .hero--reference {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    min-height: 0;
    padding: 28px 18px 44px;
    overflow: hidden;
  }
  .hero--reference .hero__content { min-height: 0; width: 100%; max-width: none; }
  .hero--reference .hero-kicker { font-size: .78rem; padding: 8px 12px; margin-bottom: 16px; }
  .hero--reference h1 { font-size: clamp(1.8rem, 7vw, 2.5rem); line-height: 1.16; letter-spacing: -.025em; }
  .hero--reference .hero__content > p { font-size: .95rem; line-height: 1.55; margin: 14px 0 0; }
  .hero--reference .hero-actions { gap: 10px; margin-top: 20px; }
  .hero--reference .button { font-size: .9rem; min-height: 48px; padding: 10px 14px; text-align: center; }
  .hero--reference .button svg { flex-shrink: 0; width: 20px; height: 20px; }

  .hero-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hero-info-card { min-width: 0; min-height: 0; padding: 14px; border-radius: 12px; }
  .hero-info-card__top { align-items: flex-start; flex-direction: column; gap: 8px; }
  .hero-info-card__icon { width: 36px; height: 36px; }
  .hero-info-card__icon svg { width: 20px; height: 20px; }
  .hero-info-card__pt { font-size: 1rem; }
  .hero-info-card strong { font-size: .9rem; line-height: 1.3; overflow-wrap: anywhere; }
  .hero-info-card__top span:not(.hero-info-card__pt) { font-size: .75rem; }
  .hero-info-card i { margin: 10px 0; }
  .hero--reference .hero-info-card p { font-size: .78rem; line-height: 1.45; margin: 0; }

  .career-hero-shell--reference { margin-bottom: 0; }
  .career-hero-shell--reference .hero-search-card--reference {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin-top: -16px;
    padding: 20px;
    width: calc(100% - 32px);
  }
  .hero-search-card--reference .hero-search-card__intro h2 { font-size: 1.2rem; }
  .hero-search-card--reference .hero-search-card__intro p { font-size: .9rem; line-height: 1.5; margin-bottom: 12px; }
  .hero-search-card--reference .hero-search-card__count { padding: 10px; }
  .hero-search-card--reference > .button { min-height: 48px; text-align: center; padding: 10px 14px; }
  .home-stats { margin-top: 20px; padding: 0 18px 12px; }
  .home-stats article, .home-stats article:last-child { gap: 12px; min-height: 0; padding: 14px 0; }
  .home-stats article > span { width: 42px; height: 42px; }
  .home-stats article > span svg { width: 24px; height: 24px; }
  .home-stats strong { font-size: 1rem; margin-bottom: 4px; }
  .home-stats p { font-size: .85rem; line-height: 1.45; max-width: none; }
  .search-shell { padding-top: 24px; }
  .results-head { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  .results-head h2 { font-size: 1.3rem; }
  .results-head > span { font-size: .8rem; }
}
