/* Shared mobile type scale — keeps list, detail and editorial pages consistent. */
@media (max-width: 560px) {
  .rightbox .eyebrow,
  .case-eyebrow,
  .article-meta,
  .case-card-kicker,
  .case-related-list span {
    font-size: .13rem;
    line-height: .22rem;
    letter-spacing: .025rem;
  }

  .case-index-hero h1,
  .news-index-hero h1,
  .article-titlebar h1,
  .case-detail-intro h1,
  .rightbox > h1 {
    font-size: .34rem;
    line-height: 1.42;
    letter-spacing: -.015em;
  }

  .case-index-meta,
  .case-archive-note,
  .case-card-tags span,
  .case-meta-grid span {
    font-size: .14rem;
    line-height: .24rem;
  }

  .case-card-copy h2,
  .case-grid li:first-child .case-card-copy h2,
  .case-related-list h3,
  .news-list h3 {
    font-size: .23rem;
    line-height: .32rem;
  }

  .case-card-desc,
  .news-list p,
  .case-meta-grid strong {
    font-size: .16rem;
    line-height: .3rem;
  }

  .case-section-title h2,
  .article-lead {
    font-size: .22rem;
    line-height: .34rem;
  }

  .case-overview,
  .article-body,
  .article-body p {
    font-size: .17rem !important;
    line-height: .32rem !important;
  }

  .article-body h1,
  .article-body h2,
  .article-body h3,
  .article-body h4 {
    font-size: .24rem !important;
    line-height: .36rem !important;
  }

  .inner-intro p {
    font-size: .3rem;
    line-height: .44rem;
  }

  /* Portfolio listing: match the reference site's compact mobile hierarchy. */
  .case-index-hero {
    margin-top: 0;
    padding-top: .24rem;
    padding-bottom: .36rem;
  }

  .case-index-hero .eyebrow {
    margin-bottom: .16rem;
    font-size: .13rem;
    line-height: 1;
  }

  .case-index-hero h1 {
    max-width: none;
    font-size: .3rem;
    line-height: 1.24;
    font-weight: 600;
    letter-spacing: -.025em;
  }

  .case-index-meta {
    gap: .12rem;
    margin-top: .18rem;
    font-size: .16rem;
    line-height: .3rem;
  }

  .case-index-meta .mark {
    font-size: .16rem;
    line-height: .28rem;
  }

  .case-filterbar {
    flex-wrap: nowrap;
    gap: .1rem;
    margin: .32rem 0 .3rem;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .case-filterbar::-webkit-scrollbar {
    display: none;
  }

  .case-filterbar a {
    flex: 0 0 auto;
    padding: .04rem .12rem;
    font-size: .13rem;
    line-height: .22rem;
  }

  .case-archive-note {
    margin: 0 0 .4rem;
    font-size: .15rem;
    line-height: .28rem;
  }

  /* Remove the reserved blank area above the mobile insight listing. */
  .news-index-hero {
    min-height: 0;
    margin-top: 0;
    padding-top: .24rem;
  }

  .news-filterbar {
    margin-top: .28rem;
  }

  /* Editorial detail: smaller title, tighter top rhythm and compact metadata. */
  .article-titlebar {
    margin-top: 0;
    padding-top: .24rem;
  }

  .article-titlebar h1 {
    font-size: .3rem;
    line-height: 1.28;
    font-weight: 600;
    letter-spacing: -.025em;
  }

  .article-meta {
    gap: .06rem .18rem;
    margin-top: .16rem;
    font-size: .13rem;
    line-height: .22rem;
    letter-spacing: 0;
  }

  .article-meta span:nth-child(2) {
    display: none;
  }

  .article-titlebar nav {
    margin-top: .18rem;
  }

  .article-cover {
    margin-top: .3rem;
  }

  /* The About hero starts directly below the shared mobile header. */
  .about-page .au-hero {
    margin-top: 0;
  }

  /* Remove the doubled mobile gap between Services and Core Team. */
  .about-page .au-services {
    padding-bottom: 0;
  }

  .about-page .au-team {
    padding-top: 0;
  }

  /* Contact page starts directly below the mobile header. */
  .contact-page .ct-hero {
    margin-top: 0;
    padding-top: .24rem;
  }

  /* Case detail: remove the two reserved vertical gaps on mobile. */
  .case-detail-hero {
    margin-top: 0;
    padding-top: .24rem;
  }

  .case-detail-cover {
    margin-top: 0;
  }

  /* Case detail metadata: quiet labels and stronger entered values. */
  .case-meta-grid span {
    color: #aaa;
  }

  .case-meta-grid strong {
    color: #111;
    font-size: .14rem;
    line-height: .24rem;
    font-weight: 600;
  }
}
