.flaw-lawyer-archive, .flaw-lawyer-profile { background: #F7F4F0; color: #222222; padding: clamp(4rem, 8vw, 8rem) 0; }
.flaw-lawyer-archive__header { max-width: 820px; margin-bottom: 4rem; }
.flaw-lawyer-archive__header h1, .flaw-lawyer-profile h1 { margin: 0; color: #222222; font-size: clamp(3rem, 7vw, 8rem); font-weight: 400; letter-spacing: -.065em; line-height: .88; }
.flaw-lawyer-archive__header > p:not(.flaw-editorial-kicker) { max-width: 58ch; margin-top: 1.5rem; color: #4A4A4A; font-size: 1.1rem; line-height: 1.75; }
.flaw-lawyer-archive__header > p.flaw-lawyer-archive__lede { color: #201D1B; font-size: 1.25rem; line-height: 1.6; }
.flaw-lawyer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(32,29,27,.18); }
.flaw-lawyer-card { background: #F7F4F0; }
.flaw-lawyer-card__portrait { display: flex; aspect-ratio: 4 / 5; align-items: end; justify-content: start; overflow: hidden; background: #D9D6D1; color: rgba(107,35,53,.32); font-size: 4rem; }
.flaw-lawyer-card__portrait img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); transition: transform .35s ease, filter .35s ease; }
.flaw-lawyer-card:hover .flaw-lawyer-card__portrait img { transform: scale(1.03); filter: saturate(1); }
.flaw-lawyer-card__body { padding: 1.5rem; }
.flaw-lawyer-card__meta { min-height: 1rem; color: #940C27; font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.flaw-lawyer-card h2 { margin: .65rem 0 .8rem; color: #222222; font-size: clamp(1.6rem, 2.7vw, 2.7rem); font-weight: 400; letter-spacing: -.045em; line-height: .95; }
.flaw-lawyer-card h2 a { color: inherit; }
.flaw-lawyer-card__body > p:not(.flaw-lawyer-card__meta) { color: #4A4A4A; line-height: 1.65; }
/* Card action link. Was .68rem (10.88px) — below a comfortable reading size for
   an interactive label, and the smallest type on the card. Raised to .8125rem
   (13px). Height is already floored at 24px by the WCAG 2.5.8 rule in
   flaw-foundation.css, so the extra 2px of type sits inside the existing target
   and the card box is unchanged. Language-neutral: no :lang() or locale class. */
.flaw-lawyer-card__link { color: #940C27; font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.flaw-lawyer-profile__grid { display: grid; grid-template-columns: minmax(18rem, .7fr) minmax(0, 1fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.flaw-lawyer-profile__portrait { position: sticky; top: 2rem; aspect-ratio: 4 / 5; overflow: hidden; background: #D9D6D1; color: rgba(107,35,53,.32); font-size: 4rem; }
.flaw-lawyer-profile__portrait img { width: 100%; height: 100%; object-fit: cover; }
.flaw-lawyer-profile__content { max-width: 680px; }
.flaw-lawyer-profile__body { margin: 2.5rem 0; color: #4A4A4A; font-size: 1.08rem; line-height: 1.82; }
@media (max-width: 800px) { .flaw-lawyer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .flaw-lawyer-profile__grid { grid-template-columns: 1fr; } .flaw-lawyer-profile__portrait { position: static; max-width: 28rem; } }
@media (max-width: 560px) { .flaw-lawyer-grid { grid-template-columns: 1fr; } }
