/* 2026-11-12: phrase-aware Japanese wrapping, desktop and mobile. */
main h1,main h2,main h3,summary,.process b{letter-spacing:normal;word-break:normal;line-break:strict;overflow-wrap:normal;text-wrap:pretty}
.heading-unit{display:inline-block;white-space:nowrap;vertical-align:baseline;max-width:100%}
.readable-heading{text-wrap:balance}
.intro-editorial>h2.intro-two-lines{font-size:clamp(18px,1.65vw,24px);line-height:1.85}
.intro-two-lines .heading-unit{display:block}
.process b{display:block;font-size:16px;white-space:nowrap}
.project-card h3{font-size:18px;line-height:1.8}
.case h1{font-size:clamp(23px,2.7vw,36px);line-height:1.75}
.cta h2{font-size:clamp(18px,2.2vw,29px);line-height:1.85}
.service-hero>div,.section-heading>div,.project-card>div,.process li,.intro-editorial>*{min-width:0}
p,li,dd{word-break:normal;line-break:strict;overflow-wrap:break-word;text-wrap:pretty}
a[href^="tel:"],a[href^="mailto:"]{white-space:nowrap}
@media(max-width:1100px) and (min-width:701px){
 .intro-editorial{grid-template-columns:1fr 1fr;gap:20px 35px;padding-left:7%;padding-right:7%}
 .intro-editorial>h2.intro-two-lines{font-size:clamp(18px,2.05vw,22px)}
 .process{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .intro-editorial>h2.intro-two-lines{font-size:clamp(16px,4.65vw,24px);line-height:1.9}
 main h2{font-size:23px;line-height:1.8}
 .page-title h1{font-size:clamp(22px,6vw,28px);line-height:1.8}
 .hero h1{font-size:clamp(25px,7.5vw,31px);line-height:1.8}
 .service-hero h2{font-size:18px}
 .project-card h3,.works-showcase .project-card h3{font-size:18px}
 .cta h2{font-size:clamp(17px,4.8vw,22px)}
 .process{grid-template-columns:1fr;gap:0}
 .process b{font-size:17px}
 .contact-options h2,.recruit-social h2{font-size:20px}
 .value-grid b{font-size:17px}
 .button{max-width:100%;font-size:13px;padding-left:18px;padding-right:18px}
 .social-button{min-width:0;gap:8px}
 footer a[href^="mailto:"]{font-size:13px}
}