/* V7.2: one type scale for both languages and every page template.
   Desktop / tablet / mobile: H1 56/44/36, H2 36/32/28, H3 24/22/22.
   Body 16, reading text 18/18/16, controls 14, metadata 12.
   The eight Chinese calligraphy characters are the sole display exception. */
:root{--type-h1:56px;--type-h2:36px;--type-h3:24px;--type-h4:20px;--type-body:16px;--type-reading:18px;--type-control:14px;--type-meta:12px;--type-lead:24px;--type-subtitle:24px;--type-metric:56px;--space-section:96px;--space-block:48px}
@media(max-width:1100px){:root{--type-h1:44px;--type-h2:32px;--type-h3:22px;--type-subtitle:22px;--space-section:72px}}
@media(max-width:760px){:root{--type-h1:36px;--type-h2:28px;--type-h4:18px;--type-reading:16px;--type-lead:22px;--type-subtitle:20px;--type-metric:44px;--space-section:56px;--space-block:32px}}
body.vision-v7{font-size:var(--type-body);line-height:1.75}
body.vision-v7 :is(.v7-label,.v5-label,.eyebrow,.article-tag){text-transform:none}
body.vision-v7 .site-footer .sub{font-size:var(--type-body)!important}
body.vision-v7 .contact-big{font-size:var(--type-h2)!important;line-height:1.4}
body.vision-v7 main :is(h1,h2,h3,h4,h5,h6){font-family:inherit;font-weight:400;letter-spacing:-.02em;font-stretch:normal;line-height:1.4;overflow-wrap:anywhere;line-break:strict}
/* Reserve half an em for Chinese closing punctuation that the browser may hang. */
html[lang="zh-CN"] body.vision-v7 main :is(h1,h2,h3,h4,h5,h6){box-sizing:border-box;padding-inline-end:.5em}
html[lang="zh-CN"] body.vision-v7 .v7-hero h1{padding-inline-end:0}
body.vision-v7 main h1{font-size:var(--type-h1)!important;line-height:1.25}
body.vision-v7 main h2,body.vision-v7 .closing h2{font-size:var(--type-h2)!important;line-height:1.4}
body.vision-v7 main h3{font-size:var(--type-h3)!important;line-height:1.5}
body.vision-v7 main :is(h4,h5,h6){font-size:var(--type-h4)!important;line-height:1.5}
body.vision-v7 main :is(p,li,address,blockquote){font-size:var(--type-body);line-height:1.8}
body.vision-v7 main :is(.v7-hero-sub,.v7-country-copy p,.v7-innovation-grid p,.v7-connect-grid p,.v7-expertise-grid>p,.v7-tech-title>p:last-child,.v7-tech-intro p,.v7-tech-row p,.v7-firm-intro p,.v7-cross-intro p,.v7-cross-stages p,.v7-history-row p,.v7-firm-values p,.lawyer-directory-summary>p){font-size:var(--type-body);line-height:1.8}
body.vision-v7 main :is(.v7-large-copy,.culture-lead){font-size:var(--type-lead);line-height:1.6}
/* Readable text columns; original rich-text inline sizes do not override the scale. */
body.vision-v7 :is(.prose,.publication-body,[data-profile-section-body],.v7-prose-section){font-size:var(--type-reading);line-height:1.85}
body.vision-v7 :is(.prose,.publication-body,[data-profile-section-body],.v7-prose-section) :is(p,li,blockquote){font-family:inherit!important;font-size:var(--type-reading)!important;line-height:1.85!important;text-align:start!important}
body.vision-v7 :is(.prose,.publication-body,[data-profile-section-body]) :is(span,strong,b,em,i,a,font){font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}
body.vision-v7 :is(.prose,.publication-body,[data-profile-section-body]) :is(th,td){font-family:inherit!important;font-size:var(--type-control)!important;line-height:1.7!important}
body.vision-v7 :is(.prose,.publication-body,[data-profile-section-body]) :is(h2,h3,h4){margin-block:1.6em .7em}
body.vision-v7 :is(.prose,.publication-body,[data-profile-section-body]) p{margin-block:0 1.25em}
/* Compact headings retain semantic hierarchy within cards and sidebars. */
body.vision-v7 main :is(.insight-card,.topic-card,.committee-card,.pub-card,.honor-list article,.lt-card,.office-card,.v7-tech-row,.v7-service-map>div,.v7-cross-stages) :is(h2,h3){font-size:var(--type-h3)!important;line-height:1.5}
body.vision-v7 main :is(.reading-toc,.article-sidebar,.detail-sidebar,.lawyer-profile-expertise,.v7-tech-intro) >h2{font-size:var(--type-control)!important;line-height:1.6}
body.vision-v7 :is(.v7-label,.v5-label,.v7-overline,.v7-index,.breadcrumb,.source,.translation-note,.v7-source-note,.v7-figure figcaption,.v7-hero-foot,.v7-film-caption,.v7-journal-item>span,.v7-location-type p,.v7-firm-metrics>p,.lawyer-results-heading,.lawyer-profile-source,.article-meta-v4,.pub-meta,.insight-meta,figcaption,small){font-size:var(--type-meta)!important;line-height:1.65}
body.vision-v7 :is(.nav-link,.icon-btn,.btn,.link,.v7-link,.v5-link,.v7-tech-topics .v7-link,.lawyer-card-read,.lawyer-print,.lawyer-reset,.reading-toc,.article-sidebar,.detail-sidebar,.lawyer-profile-sidebar,.archive-filter,.lawyer-finder,.site-footer a){font-size:var(--type-control)!important;line-height:1.6}
body.vision-v7 :is(input,select,textarea){font-family:inherit;font-size:var(--type-body)!important;line-height:1.5}
body.vision-v7 main :is(.v7-practice-list a,.lawyer-role,.lawyer-card-offices,.lawyer-profile-role,.lawyer-profile-expertise a,.lawyer-profile-locations a){font-size:var(--type-body);line-height:1.7}
/* Secondary English on Chinese pages stays readable; English pages use the full scale. */
body.vision-v7 .en{font-size:var(--type-control)!important;line-height:1.6;letter-spacing:0;font-stretch:normal}
body.vision-v7 :is(h1,h2) .en{font-size:var(--type-subtitle)!important;line-height:1.5;margin-top:12px}
body.vision-v7 h3 .en{font-size:var(--type-body)!important;line-height:1.5;margin-top:8px}
body.vision-v7 .lawyer-card h3 .en{font-size:20px!important;line-height:1.5}
body.vision-v7 :is(.v5-label,.breadcrumb,.lawyer-finder label,.lawyer-role,.lawyer-card-read,.source) .en{font-size:var(--type-meta)!important}
body.vision-v7 :is(.v5-label,.v7-label)>span{font-size:var(--type-meta)!important;line-height:inherit}
body.vision-v7 :is(.lawyer-category-tabs>a>span,.lawyer-results-heading>span,.v5-photo-caption){font-size:var(--type-meta)!important;line-height:1.6}
body.vision-v7 .row-link{min-width:0;max-width:100%}
body.vision-v7 .row-link>span:first-child{min-width:0;overflow-wrap:anywhere}
body.vision-v7 .v7-practice-list a{grid-template-columns:24px minmax(0,1fr) 15px}
body.vision-v7 .v7-practice-list a>span{min-width:0;overflow-wrap:anywhere}
body.vision-v7 .lawyer-profile-expertise a{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:12px;overflow-wrap:anywhere}
/* The wrap width already includes the page gutter; do not add legacy padding. */
body.vision-v7 .wrap{padding-inline:0}
body.vision-v7 :is(.lawyer-directory-stats strong,.v7-firm-metrics strong,.honor-year){font-size:var(--type-metric)!important;line-height:1.15}
body.vision-v7 .v7-location-type>span{font-size:var(--type-h1);line-height:1.2}
body.vision-v7 .v7-section{padding-block:var(--space-section)}
body.vision-v7 .v7-section-heading{margin-bottom:var(--space-block)}
body.vision-v7 .v7-section-heading>.v7-label{margin-bottom:24px!important}
body.vision-v7 .v7-tech-topics .v7-link{min-height:64px;padding:18px 0;line-height:1.6}
body.vision-v7 .v7-tech-topics .v7-link:first-child{font-weight:500}
html[lang="zh-CN"] body.vision-v7 .v7-hero h1{font-family:'Wintell Hero Calligraphy','STXingkai','KaiTi',serif;font-size:clamp(68px,6.5vw,104px)!important;letter-spacing:.025em;line-height:1.22}
@media(max-width:760px){
 html[lang="zh-CN"] body.vision-v7 .v7-hero h1{font-size:clamp(50px,13.8vw,68px)!important;line-height:1.2}
 body.vision-v7 .v7-tech-topics .v7-link{min-height:60px;padding:16px 0}
 body.vision-v7 .v7-hero-foot{grid-template-columns:1fr;gap:12px}
 body.vision-v7 .v7-hero-foot>span{max-width:none}
 body.vision-v7 .v7-film-caption{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 body.vision-v7 .v7-film-caption>span:nth-child(2){display:none}
 body.vision-v7 .v7-practice-list{grid-template-columns:1fr}
 body.vision-v7 .lawyer-category-tabs{gap:18px;flex-wrap:wrap}
 body.vision-v7 .lawyer-category-tabs>a{gap:8px;flex-wrap:wrap}
 body.vision-v7 .lawyer-profile-expertise>div{grid-template-columns:minmax(0,1fr)}
 body.vision-v7 .lawyer-directory-intro{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
 body.vision-v7 .lawyer-directory-intro h1{white-space:normal}
}
