.portrait{display:block;background:#141414}
.portrait:before,.portrait span{display:none}
.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 18%;filter:saturate(.72) contrast(1.04);transform:scale(.94);transform-origin:center;transition:filter .65s ease,transform .75s cubic-bezier(.22,1,.36,1)}
.counsel-card:hover .portrait img,.counsel-card:focus-visible .portrait img{filter:saturate(.9) contrast(1.04);transform:scale(1.04)}
.counsel-info{min-height:220px}
.counsel-info h3{color:#f2f0ea}
.counsel-info .role{font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.13em;margin:0 0 22px}
.counsel-info .areas{font-family:var(--serif);font-size:15px;line-height:1.6;color:#b7b7b7;text-transform:none;letter-spacing:0}
.practice-row.with-copy{grid-template-columns:75px 1fr;align-items:start;padding:30px 0;min-height:130px}
.practice-row.with-copy .practice-copy h3{margin-bottom:8px}
.practice-row.with-copy .practice-copy p{margin:0;max-width:780px;color:#666;font-size:16px;line-height:1.55}
.profile-layout{grid-template-columns:minmax(0,1fr) minmax(320px,480px);align-items:start}
.profile-copy h1{font-family:var(--serif);font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1;letter-spacing:-.04em;margin:20px 0 12px}
.profile-role{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:42px}
.profile-copy p{font-family:var(--serif);font-size:19px;line-height:1.78;color:#c3c3c3;max-width:780px;margin:0 0 25px}
.profile-layout .portrait{border:1px solid var(--line);position:sticky;top:125px}
.profile-layout .portrait img{aspect-ratio:4/5}
.selected-practices{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c9c8c2;border:1px solid #c9c8c2;margin-top:70px}
.selected-practice{background:var(--paper);padding:30px;min-height:120px;display:flex;align-items:flex-end;justify-content:space-between;font-family:var(--serif);font-size:22px}
.selected-practice span{color:var(--gold);font-family:var(--sans);font-size:12px}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-layout .portrait{grid-row:1;position:static}.profile-copy{grid-row:2}.profile-copy p{font-size:17px}.counsel-info{min-height:auto}.practice-row.with-copy{grid-template-columns:45px 1fr}.selected-practices{grid-template-columns:1fr}.selected-practice{min-height:100px}.page-hero p{font-size:18px}}
.section.off-white{background:var(--paper);color:#111}
.section.off-white .body-copy{color:#555}
.section.dark-section{background:var(--ink);color:#fff}
.section.dark-section .selected-practices{background:var(--line);border-color:var(--line)}
.section.dark-section .selected-practice{background:#0f0f0f;color:#fff}
.firm-copy p,.legal-copy p{font-family:var(--serif);font-size:19px;line-height:1.8;color:#555;margin:0 0 26px;max-width:880px}
.approach{margin-top:70px;padding-top:35px;border-top:1px solid #c9c8c2}
.approach h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:0 0 18px}
.contact-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(50px,9vw,130px)}
.contact-details{display:grid;gap:28px;align-content:start}
.detail-block{padding-bottom:24px;border-bottom:1px solid var(--line)}
.detail-block h2{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.detail-block p{font-family:var(--serif);font-size:20px;color:#ccc;margin:0}
.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
.field{display:grid;gap:8px}.field.full{grid-column:1/-1}
.field label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#aaa}
.field input,.field select,.field textarea{width:100%;background:#0f0f0f;color:#fff;border:1px solid var(--line);border-radius:0;padding:15px 14px;font:16px var(--sans)}
.field textarea{min-height:160px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--gold);outline-offset:2px}
.form-button{justify-self:start;background:transparent;color:#fff;border:1px solid #777;padding:14px 20px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}
.legal-disclaimer{grid-column:1/-1;color:#888;font-size:13px;line-height:1.6;margin:0}
.empty-state{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:80px 0;margin-top:60px}
.empty-state h2{font-family:var(--serif);font-size:clamp(28px,4vw,48px);font-weight:400;margin:0;color:#bbb}
.site-footer{border-top:1px solid var(--line);padding:55px 0 32px;background:var(--ink);color:#fff}
.site-footer-main{display:grid;grid-template-columns:1.1fr 1.7fr;gap:50px;align-items:start}
.footer-nav{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:flex-end}
.footer-nav a,.site-footer-bottom a,.site-footer-bottom span{font-size:12px;color:#929292;letter-spacing:.05em}
.footer-nav a:hover,.site-footer-bottom a:hover{color:#fff}
.footer-office p{margin:14px 0 0;color:#929292;font-size:13px;line-height:1.65}
.footer-office a{color:#b3a47f}
.site-footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:45px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.inquiry-form{grid-template-columns:1fr}.field.full,.legal-disclaimer{grid-column:1}.site-footer-main{grid-template-columns:1fr}.footer-nav{justify-content:flex-start}.site-footer-bottom{flex-direction:column}.firm-copy p,.legal-copy p{font-size:17px}}

/* Match the site's primary black surfaces to the official logo background. */
:root{--ink:#000}
.site-header,.counsel-card,.contact-card{background:#000}
@media(max-width:900px){.nav{background:#000}}
@media(prefers-reduced-motion:reduce){.portrait img,.counsel-card:hover .portrait img,.counsel-card:focus-visible .portrait img{transition:none;transform:none}}
