/* V6.1 — readable columns, unbroken controls and resilient source typography. */
/* Match the text column to the photograph boundary at every desktop width. */
.page-heading.designed-heading .designed-heading-photo{left:52%}
.page-heading.designed-heading .designed-heading-copy{width:100%;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2));padding-right:calc(48% + clamp(32px,4vw,72px));min-width:0}
.page-heading.designed-heading h1{max-width:100%;overflow-wrap:anywhere}
main :where(h1,h2,h3,h4,p,li,address,figcaption,blockquote){overflow-wrap:anywhere}
main :where(.section-heading,.reading-layout,.topic-layout,.office-profile-layout,.publication-layout,.lt-detail,.enquiry-builder)>*{min-width:0}
.btn,.link{max-width:100%}
.btn>span:first-child,.link>span:first-child{min-width:0;overflow-wrap:anywhere}
.btn .arrow,.link .arrow{flex:0 0 auto}
.archive-filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.archive-filter-actions .btn{min-width:160px;align-self:center}
.archive-filter-actions .filter-reset{align-self:center}
.v5-network .network-city-copy{min-width:0}
.v5-network .network-city strong{overflow-wrap:anywhere}
.lawyer-category-tabs>a{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){
 .page-heading.designed-heading .designed-heading-photo{inset:0 0 auto;height:190px}
 .page-heading.designed-heading .designed-heading-copy{padding-inline:var(--pad)}
 .btn{gap:20px;padding-inline:20px}
}
@media(max-width:360px){
 .lawyer-directory-intro{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .lawyer-directory-intro h1{font-size:var(--type-h2);white-space:normal}
 .v5-network .network-city-grid{gap:8px}
 .v5-network .network-thumb{width:32px;flex-basis:32px}
 .v5-network .network-city strong{font-size:var(--type-meta)}
}
@media print{
 .page-heading.designed-heading .designed-heading-copy{padding:0}
}

.honor-list h2,.publication-body li{line-break:strict}
.table-scroll{max-width:100%;overscroll-behavior-x:contain}
.table-scroll table{display:table;overflow:visible}
.table-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:4px}

/* Balance display titles; keep short last lines out of longer reading text. */
main :where(h1,h2,h3,h4){text-wrap:balance}
main :where(p,li,address,figcaption,blockquote){text-wrap:pretty}

/* Keep CJK closing punctuation inside the reading column, including mixed scripts. */
.designed-heading h1,.honor-list h2,.prose :where(p,h2,h3,h4,li),.publication-body li{padding-inline-end:.5em}

/* Bilingual menus need a real second line, with room for the close and arrow controls. */
.dialog-heading h2{min-width:0;overflow-wrap:anywhere}
.dialog-heading h2 .en{font-size:clamp(18px,2vw,24px);line-height:1.4;text-wrap:balance}
.dialog-close{flex:0 0 auto}
#menu-dialog .mega-groups h3,#menu-dialog .mega-groups a .en,#menu-dialog .menu-foot>a{color:var(--pale)}
#menu-dialog .mega-groups h3 .en{font-size:var(--type-meta)}
@media(max-width:650px){
 .mega-groups a{padding:14px 28px 14px 0;line-height:1.45;overflow-wrap:anywhere}
 .mega-groups a .en{display:block;margin:6px 0 0;font-size:var(--type-meta);line-height:1.5}
}
@media(max-width:360px){
 .site-header .brand{padding:12px}
 .site-header .brand img{width:150px}
 .header-inner{gap:10px}
 .header-tools{gap:0}
 .header-tools .icon-btn{width:36px;height:44px;flex:0 0 36px}
 .header-tools .icon-btn[data-action="search"]{display:grid}
}

.search-kind-label{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:14px}
.search-kind-label select{max-width:none}
.contact-grid>*{min-width:0}
.contact-recipient{color:var(--secondary);font-size:var(--type-body);margin:-8px 0 12px}
.contact-big.contact-email{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:clamp(20px,2.6vw,36px)}
.contact-email>span:first-child{min-width:0;overflow-wrap:anywhere}
.contact-email>.arrow{flex:0 0 auto}
.enquiry-recipient a{text-decoration:underline;text-underline-offset:3px}
.site-footer a[href^="mailto:"],.menu-foot a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:650px){
 .precision-search-key{display:none}
 .search-input{font-size:var(--type-reading)}
}

/* V6.8.1 — natural letterforms across headings, names, prose and controls.
   Size and wrapping establish hierarchy; text is never squeezed to fit. */
body,button,input,select,textarea{font-stretch:normal;font-variation-settings:normal}
textarea,pre,code,kbd,samp{font-family:var(--font)}
.v5-home h2>.en,.v5-display,.lawyer-directory-intro h1 .en,
.lawyer-card h3 .en,.lawyer-profile-title h1 .en,
.lawyer-bio-section h2>.en,.people-related-block .v5-section-head h2 .en{line-height:1.35}
.v5-home h2>.en{font-size:clamp(22px,2.1vw,30px)}
.v5-display{font-size:clamp(22px,2.1vw,30px)}
.lawyer-card h3 .en{font-size:var(--type-h4);min-height:27px}
.lawyer-profile-title h1 .en{font-size:var(--type-h2)}
.lawyer-bio-section h2>.en,.people-related-block .v5-section-head h2 .en{font-size:var(--type-h3)}
@media(max-width:760px){
 .lawyer-card h3 .en{font-size:var(--type-reading)}
 .lawyer-profile-title h1 .en{font-size:var(--type-h2)}
 .lawyer-bio-section h2>.en,.people-related-block .v5-section-head h2 .en{font-size:var(--type-h4)}
}
@media(max-width:370px){
 .lawyer-card h3 .en{font-size:var(--type-body)}
 .lawyer-directory-intro{grid-template-columns:1fr;gap:24px;align-items:start}
 .lawyer-directory-intro h1{font-size:var(--type-h2);white-space:normal}
 .lawyer-directory-stats{gap:40px}
 .v5-home .v5-hero h1{font-size:var(--type-h2);line-height:1.4;letter-spacing:-.02em}
}
