/* Typography-only candidate: preserve the current site's layout, imagery and color. */
:root {
  --font-sans: "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  --font-serif: var(--font-sans);
}

body {
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: .005em;
}

.nav-shell nav, .case-all-link, .text-link, .btn, .process-jump {
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: .025em;
}

.eyebrow, .case-photo span, .archive-card figure span,
.team-list article > span, .material-grid span, .material-catalog span {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: .16em;
}

.hero h1, .section-head h2, .philosophy h2, .pricing h2,
.archive-hero h1, .archive-card h2, .detail-hero h1,
.process-hero h1, .materials-hero h1,
.about-hero h1, .about-intro h2, .about-team h2, .about-contact h2,
.case-detail .detail-story > h2, .detail-body article h2,
.milestones h3, .material-grid h3, .material-catalog h2,
.journey-grid h3, .accept-grid h3, .principle-grid h3,
.deliverables strong, .value-grid h3, .team-list h3 {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: .012em;
}

.hero h1 {
  font-size: clamp(42px, 4.4vw, 62px);
  line-height: 1.26;
}
.hero-content > p { font-size: 16px; line-height: 1.9; }
.hero-stats strong { font-family: var(--font-sans); font-size: 19px; font-weight: 600; line-height: 1.4; }
.hero-stats span { font-size: 12px; line-height: 1.6; }

.section-head h2, .philosophy h2, .pricing h2 {
  font-size: clamp(36px, 3.2vw, 46px);
  line-height: 1.36;
}
.section-head > p, .philosophy-copy > p { font-size: 15px; line-height: 1.9; }
.section-head > p { text-wrap: balance; }
.case-meta h3 { font-family: var(--font-sans); font-size: 21px; font-weight: 600; line-height: 1.45; letter-spacing: .01em; }
.case-meta p { font-size: 13px; line-height: 1.7; }
.philosophy-copy li strong { font-size: 16px; font-weight: 600; line-height: 1.5; }
.philosophy-copy li span { font-size: 13px; line-height: 1.75; }
.steps h3 { font-size: 19px; font-weight: 600; line-height: 1.5; }
.steps p, .price-cards p { font-size: 14px; line-height: 1.85; }
.price-cards strong { font-family: var(--font-sans); font-size: 29px; font-weight: 600; line-height: 1.35; font-variant-numeric: tabular-nums; }
.price-cards strong small { font-weight: 500; }
.case-carousel-head p { font-family: var(--font-sans); font-variant-numeric: tabular-nums; }

.archive-hero h1 { line-height: 1.18; }
.archive-card h2 { font-size: 25px; line-height: 1.45; }
.about-hero h1 { line-height: 1.28; }
.about-copy p, .about-team p { line-height: 1.9; }
.process-hero h1, .materials-hero h1 { line-height: 1.28; }
.process-hero span, .materials-hero span { line-height: 1.9; }
.detail-hero h1 { line-height: 1.3; }
.case-detail .detail-story, .case-detail .detail-story > p { line-height: 1.9; }
.site-footer p, .site-footer div { font-size: 13px; line-height: 1.8; }

@media (max-width: 800px) {
  .nav-shell nav { font-size: 15px; line-height: 1.6; }
  .hero h1 { font-size: clamp(33px, 8.7vw, 38px); line-height: 1.32; }
  .hero-content > p { font-size: 15px; line-height: 1.85; }
  .section-head h2, .philosophy h2, .pricing h2 { font-size: 34px; line-height: 1.4; }
  .section-head > p { font-size: 14px; line-height: 1.85; letter-spacing: 0; }
  .case-meta h3 { font-size: 21px; }
  .archive-hero h1 { font-size: 44px; }
  .archive-card h2 { font-size: 23px; }
  .process-hero h1, .materials-hero h1 { font-size: 38px; }
  .detail-hero h1 { font-size: 38px; }
  .about-hero h1 { font-size: 38px; }
  .about-intro h2, .about-team h2, .about-contact h2 { font-size: 36px; }
}
