/* Type scale A (subpages only): body 14px, display sizes ~64% of the original. Loaded last so it wins over each page's own CSS. */
.sp-hero .k{font-size:clamp(13px,1vw,15px)}
.sp-hero h1{font-size:clamp(40px,7.2vw,112px)}
.sp-hero .z{font-size:clamp(22px,2.4vw,36px)}
.sp-hero .lead{font-size:14px}
.sp-cta .cw,.sp-cta h2{font-size:clamp(32px,4.4vw,68px)}
.sp-cta .z{font-size:clamp(20px,1.9vw,28px)}
.sp-cta p.t{font-size:14px}
/* services */
.svc-a .no{font-size:clamp(15px,1.2vw,18px)}
.svc-a h2,.cd h2{font-size:clamp(26px,2.8vw,44px)}
.svc-a .zh,.cd .zh{font-size:clamp(17px,1.5vw,22px)}
.svc-a .d,.cd .d,.svc-a ul.sc li,.cd li{font-size:14px}
/* process */
.pr-start h2{font-size:clamp(20px,1.9vw,28px)}
.pr-start h2 small{font-size:clamp(15px,1.4vw,19px)}
.stp .n{font-size:clamp(32px,3vw,44px)}
.stp h3{font-size:clamp(16px,1.3vw,19px)}
.stp p{font-size:14px}
/* faq */
.grp h2{font-size:clamp(22px,2.4vw,34px)}
.grp h2 small{font-size:clamp(15px,1.4vw,19px)}
.q button span{font-size:clamp(15px,1.3vw,18px)}
.q .ans p{font-size:14px}
.nt strong{font-size:clamp(20px,1.7vw,26px)}
.nt .go{font-size:14px}
/* about */
.ab-st h2{font-size:clamp(24px,3.2vw,50px)}
.ab-st p,.ab-p dd,.ab-i p{font-size:14px}
.ab-m h2,.ab-i h2,.ab-p h2{font-size:clamp(22px,2.4vw,34px)}
.ab-m h2 small,.ab-i h2 small,.ab-p h2 small{font-size:clamp(15px,1.4vw,19px)}
.ab-m .l{font-size:clamp(32px,3.6vw,56px)}
.ab-m .r b{font-size:clamp(20px,2.2vw,34px)}
.ab-m .r span:last-child{font-size:clamp(15px,1.3vw,18px)}
.ab-i li{font-size:14px}
.ab-n .nm b{font-size:clamp(34px,3.6vw,56px)}
.ab-n .nm i{font-size:clamp(16px,1.6vw,24px)}
/* privacy */
.pv h2{font-size:clamp(16px,1.5vw,20px)}
.pv p{font-size:14px}
/* work / journal lists and detail pages */
.case h3{font-size:clamp(16px,1.3vw,19px)}
.em{font-size:14px}
.jc h3{font-size:clamp(18px,1.5vw,22px)}
.jc p,.jc.feat p{font-size:14px}
.cs h2{font-size:clamp(19px,1.8vw,24px)}
.cs p,.prose p,.prose ul,.prose ol{font-size:14px}
.prose h2{font-size:clamp(18px,1.6vw,22px)}
.prose h3{font-size:clamp(15px,1.3vw,17px)}
.prose blockquote{font-size:15px}
.cq p{font-size:clamp(17px,1.6vw,22px)}
.sp-hero h1.dh{font-size:clamp(26px,3.2vw,46px)}
@media (max-width:900px){.ar .sp-hero h1.dh{font-size:clamp(26px,5.6vw,36px)}}
.ar .am h2{font-size:clamp(19px,1.8vw,24px)}
.ar .am p,.ar .am li{font-size:14px}
.ar .toc a{font-size:14px}
.ar .am .afaq .q strong{font-size:15px}
.rel h2{font-size:clamp(18px,1.5vw,22px)}
@media (max-width:820px){.sp-hero h1{font-size:clamp(38px,11vw,64px)}}
/* mobile: calmer line-height for small body text (-50% of the extra leading), left-aligned text, about fixes */
@media (max-width:820px){
.sp p,.sp li,.sp dd,.sp .d,.sp .tx,.sp .lead{text-align:left!important;text-justify:auto}
.sp-hero .lead,.sp-cta p.t,.svc-a .d,.cd .d,.stp p,.q .ans p,.ab-st p,.ab-i p,.pv p,.cs p,.prose p,.prose ul,.prose ol,.jc p,.em{line-height:1.45}
.ab-p dd{line-height:1.4}
.ar .am p,.ar .am li{line-height:1.5}
.ab-n .in{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ab-n .nm:last-child{display:flex}
.ab-n .nm{flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;gap:6px;padding-bottom:14px}
.ab-n .nm b{font-size:clamp(24px,7.6vw,34px)}
.ab-n .nm i{font-size:13px}
.ab-n .nm>span{min-width:0;font-size:10px;letter-spacing:.04em;padding-bottom:0}
.ab-i ul{display:flex;flex-wrap:wrap;gap:2px 0;line-height:1.8}
.ab-i li{display:block;white-space:nowrap;font-size:14px}
.ar .toc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}
.ar .toc a{grid-template-columns:1fr;gap:2px;padding:10px 0;font-size:13px;line-height:1.45}
}
