/* Larger body copy for comfortable reading. */
.prose{font-size:19px}
.service-grid p,.strength-list p{font-size:17px}
.company-details dd,.contact-text{font-size:19px}
.email{font-size:17px}
.wechat strong{font-size:17px}.wechat button{font-size:13px}.wechat p{font-size:13px}
@media(max-width:820px){.prose{font-size:17px}.service-grid p,.strength-list p{font-size:16px}.company-details dd,.contact-text{font-size:17px}}

/* Stable wrapping across desktop and mobile browsers. */
html{line-break:strict}
.eyebrow,.section-label{letter-spacing:.08em;text-transform:none}
.wechat{display:flex;flex-direction:column;align-items:center;text-align:center}
.wechat>div{display:flex;flex-direction:column;align-items:center}
.wechat button{align-self:center}
.wechat p{width:100%;text-align:center}

/* Larger overall type scale. */
.site-header nav{font-size:15px}.language button{font-size:12px}
.eyebrow,.section-label{font-size:12px}
.hero h1{font-size:clamp(46px,5.7vw,82px)}.hero-text{font-size:19px}
.section h2{font-size:clamp(42px,4.9vw,70px)}.two-column h2{font-size:clamp(40px,4.5vw,62px)}
.service-grid h3{font-size:28px}.strength-list h3{font-size:25px}
.primary-button{font-size:15px}.company-details dt{font-size:14px}
@media(max-width:820px){.language button{font-size:11px}.eyebrow,.section-label{font-size:11px}.hero h1{font-size:clamp(42px,10.5vw,54px)}.hero-text{font-size:18px}.section h2,.two-column h2{font-size:clamp(37px,9.5vw,52px)}.service-grid h3{font-size:26px}.strength-list h3{font-size:23px}.primary-button{font-size:14px}}
@media(min-width:821px){.hero h1{font-size:clamp(60px,5.9vw,90px)}}

/* Bundled Songti-style Chinese font: identical on iPhone and Android. */
@font-face{font-family:"JJ Songti";src:url("noto-serif-sc.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
html[lang="zh-CN"] body,html[lang="zh-CN"] button{font-family:"JJ Songti","Songti SC","STSong","Noto Serif CJK SC",serif}
html[lang="zh-CN"] .hero h1,html[lang="zh-CN"] .section h2,html[lang="zh-CN"] .prose,html[lang="zh-CN"] .hero-text,html[lang="zh-CN"] .service-grid h3,html[lang="zh-CN"] .strength-list h3,html[lang="zh-CN"] .contact-text,html[lang="zh-CN"] .company-details dd{font-family:"JJ Songti","Songti SC","STSong","Noto Serif CJK SC",serif}
.hero h1,.section h2{text-wrap:balance;word-break:normal;overflow-wrap:normal}
.section h2{white-space:pre-line}
.hero h1{max-width:15.5em;font-size:clamp(42px,5.2vw,74px);line-height:1.34}
.hero-text,.prose,.service-grid p,.strength-list p,.company-details dd,.contact-text{word-break:normal;overflow-wrap:normal;text-wrap:pretty;hyphens:none}
.service-grid h3,.strength-list h3{text-wrap:balance;word-break:normal;overflow-wrap:normal}
@media(max-width:820px){.hero h1{max-width:10em;font-size:clamp(38px,10vw,50px);line-height:1.38}.hero-text,.prose,.service-grid p,.strength-list p,.company-details dd,.contact-text{text-wrap:pretty}}

/* Japanese section headlines: two intentional lines at every phone width. */
html[lang="ja"] .about h2,html[lang="ja"] .services h2,html[lang="ja"] .contact h2{white-space:pre-line;line-height:1.46}
@media(max-width:820px){html[lang="ja"] .about h2,html[lang="ja"] .services h2,html[lang="ja"] .contact h2{font-size:min(8vw,30px);line-height:1.58;letter-spacing:0;white-space:pre-line}}

/* Desktop-only headline tuning. */
@media(min-width:821px){
  html[lang="ja"] .about h2,html[lang="ja"] .contact h2{font-size:clamp(36px,3.2vw,40px);line-height:1.42;white-space:pre-line}
  html[lang="ja"] .services h2{font-size:clamp(34px,3vw,38px);line-height:1.3;white-space:nowrap;letter-spacing:0}
  html[lang="en"] .about h2,html[lang="en"] .services h2,html[lang="en"] .contact h2{font-size:clamp(34px,3vw,40px);line-height:1.35;max-width:24ch;text-wrap:balance;white-space:normal}
  html[lang="zh-CN"] .about h2,html[lang="zh-CN"] .services h2,html[lang="zh-CN"] .contact h2{font-size:clamp(36px,3.2vw,42px);line-height:1.4;text-wrap:balance;white-space:normal}
  html[lang] .about h2,html[lang] .services h2,html[lang] .contact h2{font-size:clamp(36px,3.2vw,40px)}
  .service-grid h3,.strength-list h3{font-size:26px}
}

/* Contact CTA: centered label with a stable arrow position in every language. */
.contact .primary-button{position:relative;width:min(100%,360px);justify-content:center;text-align:center}
.contact .primary-button b{position:absolute;right:22px}
@media(max-width:820px){.contact .primary-button{width:min(100%,340px)}}

/* Desktop reading scale: clear hierarchy without altering the approved heading line breaks. */
@media(min-width:821px){
  .site-header nav{font-size:14px;gap:27px}
  .language button{font-size:12px}
  .eyebrow,.section-label{font-size:12px;letter-spacing:.19em}
  .hero-text{font-size:18px;line-height:1.9;max-width:42em}

  .prose{font-size:18px;line-height:2.02}
  .service-grid h3{font-size:26px;line-height:1.42}
  .service-grid p{font-size:17px;line-height:1.9}
  .strength-list h3{font-size:24px;line-height:1.45}
  .strength-list p{font-size:16px;line-height:1.9}

  .company-details dt{font-size:14px}
  .company-details dd{font-size:18px;line-height:1.75}
  .contact-text{font-size:18px;line-height:1.9}
  .email{font-size:17px}
  .wechat strong{font-size:18px}
  .wechat button{font-size:14px}
  .wechat p{font-size:13px;line-height:1.75}
  .primary-button{font-size:15px}

  /* Keep section headings visually consistent on desktop. */
  .strengths h2,.company h2{font-size:clamp(36px,3.2vw,40px);line-height:1.4}
}

/* Japanese service descriptions use the same refined Mincho tone as the main copy. */
html[lang="ja"] .service-grid p{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif}

/* Final desktop spacing pass: retain breathing room, remove decorative empty space. */
@media(min-width:821px){
  .section{padding-top:92px;padding-bottom:92px}
  .section h2{margin-bottom:40px}
  .two-column{gap:8vw}
  .service-grid article{min-height:280px;padding-top:32px;padding-bottom:54px}
  .strength-list article{padding-top:25px;padding-bottom:25px}
  .company-details div{padding-top:21px;padding-bottom:21px}
  .contact .primary-button{margin-top:28px;margin-bottom:14px}
  .wechat{margin-top:24px;padding:19px}
  footer{padding-top:40px;padding-bottom:40px}
}
