/* Shared standards for all current and future pages. */
:root{--paper:#ffffff;--ivory:#ffffff;--surface:#ffffff;--surface-alt:#ffffff;--line:#d8c6ac}
body{background:var(--paper)}
.site-header{background:#ffffff}
.hero--identity,.firm-intro{background:var(--surface)}
.leadership,.heritage{background:var(--ivory)}
footer{background:var(--surface-alt)}
.consult{background:linear-gradient(108deg,var(--paper),var(--surface-alt))}
.service-section:nth-of-type(even){background:var(--ivory)}
main p:not(.eyebrow){line-height:1.8;text-wrap:pretty}
h1,h2,h3{overflow-wrap:break-word}
@media(min-width:901px){
 .body-copy p,.firm-copy p:not(.eyebrow),.heritage-copy p:not(.eyebrow),.international p:not(.eyebrow),.practice-context p:not(.eyebrow){text-align:justify;hyphens:auto;text-justify:inter-word}
}
.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:24px 0}
.directory-grid a,.directory-grid a:first-child,.directory-grid a:last-child{padding:19px 22px;min-height:95px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:24px}
.directory-grid a:nth-child(3n){border-right:0}
.directory-grid a:hover{background:var(--surface-alt)}
.directory-grid a.directory-featured{border-left:3px solid var(--gold);background:var(--surface)}
.service-featured .service-heading{border-left:3px solid var(--gold);padding-left:24px}
.practice-featured{border-left:3px solid var(--gold);padding-left:18px}
.practice{gap:22px}.practice p{font-size:14px;line-height:1.65}
.scope-list a:hover,.scope-list a:focus-visible{color:#80582f;text-decoration:underline;text-underline-offset:5px}
.text-link{line-height:1.7;display:inline-block}
@media(min-width:701px) and (max-width:1100px){.practice{grid-template-columns:40px minmax(0,1fr) 25px}.practice p{display:none}}
@media(max-width:900px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-grid a:nth-child(3n){border-right:1px solid var(--line)}.directory-grid a:nth-child(2n){border-right:0}.directory-grid a{font-size:23px}}
@media(max-width:700px){
 main p:not(.eyebrow){text-align:left;hyphens:none;line-height:1.75}
 .consult p:not(.eyebrow){text-align:center}
 .directory-grid{grid-template-columns:1fr;padding:12px 0}
 .directory-grid a,.directory-grid a:first-child,.directory-grid a:last-child,.directory-grid a:nth-child(3n){min-height:0;padding:17px 12px;border-right:0;font-size:23px;gap:16px}
 .directory-grid a span{flex:0 0 20px}
 .practice{grid-template-columns:30px minmax(0,1fr) 20px;gap:10px}
 .practice h3{font-size:25px;line-height:1.15}
 .service-heading h2{font-size:36px;line-height:1.08}
 .service-featured .service-heading{padding-left:18px}
 .scope-list li{font-size:24px;line-height:1.25}
 .hero h1,.firm-opening h1{font-size:clamp(39px,10vw,49px)}
 .hero-copy{min-height:0}
}

@media(min-width:901px){.firm-capabilities .scope-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.firm-capabilities .scope-list li{font-size:23px;line-height:1.25;padding:18px 0}}

/* Final warm cream and restrained brown refinement. */
.hero-caption,.firm-rule,.text-link,.practice-number,.directory-grid a span{color:var(--brown)}
.hero--identity .hero-caption{border-color:#987552}
.desktop-nav a:not(.contact)::after{background:var(--brown)}
.button:hover,.hero--identity .hero-actions .button:not(.light):hover{background:#4b301d;border-color:#4b301d}
.directory-grid a:hover,.practice:hover{background:#ffffff;color:var(--brown)}
.scope-list a:hover,.text-link:hover{color:#4b301d;text-decoration-thickness:2px}
.socials a:hover{background:var(--brown);border-color:var(--brown);color:var(--paper)}
.portrait .managing-partner-photo{object-position:52% 16%;filter:grayscale(1);transform:scale(2.2);transform-origin:52% 26%}
.portrait:hover .managing-partner-photo{transform:scale(2.2)}
@media(max-width:700px){.portrait .managing-partner-photo{transform:scale(2.2);transform-origin:52% 25%}.portrait:hover .managing-partner-photo{transform:scale(2.2)}}
