/* v3 practice styles. Owned by the practice cluster (implementation/theme-v3-2026-10-02/BRIEF.md). Loaded on every page after style.css and home.css; scope rules by body class. */

/* ==========================================================================================================================
   SHARED: the federal index (Practice Areas landing and the federal hub). Four clusters, each a label on a hairline over a
   dot list (DESIGN: practice link lists use the dot). The labels share one row, bottom-aligned, so every list starts on
   the same line whatever wraps.
   ========================================================================================================================== */
:is(.practice-landing, .single-practice_area) { --v3-gap: clamp(1.5rem, 3vw, 2.5rem); }
.v3-clusters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; column-gap: var(--v3-gap); row-gap: 0; }
.v3-cluster { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; min-width: 0; }
.v3-cluster h3 { align-self: end; margin: 0 0 1rem; padding-bottom: .65rem; border-bottom: 1px solid var(--rule-light); font-size: clamp(1.125rem, 1.35vw, 1.25rem); font-stretch: 100%; font-variation-settings: 'wdth' 100; font-weight: 700; letter-spacing: -.01em; line-height: 1.25; color: var(--steel); text-wrap: balance; }
.v3-cluster .practice-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: .45rem; margin: 0; align-content: start; }
.v3-cluster .practice-list li { line-height: 1.35; }
.v3-cluster .practice-list a { padding-top: .1rem; padding-bottom: .1rem; font-weight: 500; color: var(--ink); text-wrap: balance; }
.v3-cluster .practice-list a:hover { color: var(--lake); }
.v3-cluster .practice-list a::before { top: calc(.1rem + .55em); }

/* ==========================================================================================================================
   PRACTICE AREAS LANDING (archive-practice_area.php), redesigned 2026-10-06: one screen. A compact header with the H1, then
   Federal across 8 of 12 columns and State over Civil Rights in the other 4, each under a steel rule.
   ========================================================================================================================== */
.practice-landing .v3-landing-header { padding: clamp(2.5rem, 4.5vw, 3.75rem) 0 clamp(2.25rem, 4vw, 3.25rem); }
.practice-landing .v3-landing-header::before { background-position: center 16%; }
.practice-landing .v3-landing-header::after { background: linear-gradient(90deg, rgba(14, 26, 36, .82) 0%, rgba(14, 26, 36, .72) 55%, rgba(14, 26, 36, .66) 100%); }
.v3-landing-header h1 { font-size: var(--t-page-h1); line-height: .98; letter-spacing: -.025em; color: var(--white); }

.v3-dir { padding: clamp(2rem, 3.5vw, 3rem) 0 var(--space-section); }
.v3-dir-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); column-gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.v3-dir-side { display: grid; row-gap: clamp(2.25rem, 4vw, 3rem); }
.v3-dir-practice { padding-top: 1.25rem; border-top: 2px solid var(--steel); }
/* The three practice names are peers: one size, each the link to its hub, with the site's arrow. */
.v3-dir-practice h2 { margin: 0; font-size: clamp(1.5rem, 2.1vw, 1.875rem); font-weight: 750; letter-spacing: -.018em; line-height: 1.12; text-wrap: balance; }
.v3-dir-practice h2 a { color: var(--steel); text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: .18em; transition: color .25s var(--ease-out), text-decoration-color .25s var(--ease-out); }
.v3-dir-practice h2 a:is(:hover, :focus-visible) { color: var(--lake); text-decoration-color: currentColor; }
.v3-dir-arrow { display: inline-block; width: .62em; height: auto; margin-left: .35em; vertical-align: .05em; color: var(--lake); transition: transform .35s var(--ease-out); }
.v3-dir-practice h2 a:is(:hover, :focus-visible) .v3-dir-arrow { transform: translateX(.3rem); }
.v3-dir-line { margin: .65rem 0 0; max-width: 34rem; font-size: 1.0625rem; line-height: 1.5; color: var(--ink); text-wrap: pretty; }
/* Federal: the four menu groups in two columns (Fraud and Markets at left, Corruption and Investigations at right). */
.v3-dir-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; grid-auto-flow: column; gap: clamp(1.5rem, 2.6vw, 2rem) clamp(1.5rem, 3vw, 2.5rem); margin-top: clamp(1.5rem, 2.6vw, 2rem); }
.v3-dir-group h3 { margin: 0 0 .55rem; padding-bottom: .55rem; border-bottom: 1px solid var(--rule-light); font-size: 1.0625rem; font-stretch: 100%; font-variation-settings: 'wdth' 100; font-weight: 700; letter-spacing: -.005em; line-height: 1.3; color: var(--steel); }
.v3-dir-links { margin: 0; padding: 0; list-style: none; }
/* Practice links as on Home and in the menu (Dan, 2026-10-06): lake; ink on hover and focus, sliding 8px right. */
.v3-dir-links a { display: inline-block; padding: .32rem 0; font-family: var(--font-display); font-weight: 500; font-size: 1rem; line-height: 1.3; color: var(--lake); text-decoration: none; transition: color .3s var(--ease-out), transform .35s var(--ease-out); }
.v3-dir-links a:is(:hover, :focus-visible) { color: var(--ink); transform: translateX(.5rem); }
/* State's case types: one quiet line under its sentence, not links. */
.v3-dir-cases { display: flex; flex-wrap: wrap; margin: .85rem 0 0; padding: 0; list-style: none; font-family: var(--font-display); font-size: .9375rem; font-weight: 600; line-height: 1.6; color: var(--steel); }
.v3-dir-cases li { white-space: nowrap; }
.v3-dir-cases li:not(:last-child)::after { content: '\00B7'; margin: 0 .45em; color: var(--mist); }

/* ==========================================================================================================================
   PRACTICE PAGES (single-practice_area.php): header
   ========================================================================================================================== */
.single-practice_area .practice-header h1 .nowrap { white-space: nowrap; }
/* Answer panel pages (sub-pages, Civil Rights): the panel's top edge on the H1's, one horizontal across the header. */
.single-practice_area .practice-header-grid { align-items: start; }
.single-practice_area .practice-answer { margin-top: .4rem; }
.single-practice_area .practice-answer p { text-wrap: pretty; }
.single-practice_area .practice-answer > :last-child,
.single-practice_area .practice-answer > :nth-last-child(2):has(+ [hidden]),
.single-practice_area .practice-answer-more > :last-child { margin-bottom: 0; }
/* The statement variant is a position, not another heading: Source Serif display (as the partners statement). */
.single-practice_area .practice-answer .practice-answer-statement { font-family: var(--font-body); font-stretch: 100%; font-variation-settings: 'opsz' 60; font-weight: 600; font-size: clamp(1.625rem, 2.4vw, 2.125rem); line-height: 1.16; letter-spacing: -.012em; color: var(--steel); text-wrap: balance; margin-bottom: 1.25rem; }
.single-practice_area .practice-answer-people a { display: inline-block; padding: .25rem 0; border-bottom: 0; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .28em; }

/* Hub header (no answer panel): the H1 across the header, then the opening paragraph and On this page side by side. */
.single-practice_area .practice-header--hub { padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem); }
.practice-header--hub .practice-header-grid { grid-template-columns: minmax(0, 1fr); }
.practice-header--hub .practice-header-main { display: grid; grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); column-gap: clamp(2.5rem, 6vw, 6rem); align-items: end; }
.practice-header--hub h1 { grid-column: 1 / -1; max-width: 12.5em; }
.practice-header--hub .practice-toc { grid-column: 2; margin-top: clamp(1.25rem, 2.2vw, 1.75rem); }
.practice-header-lede { max-width: 36rem; margin: clamp(1.25rem, 2.2vw, 1.75rem) 0 0; font-size: clamp(1.1875rem, 1.55vw, 1.375rem); line-height: 1.5; color: var(--ice); text-wrap: pretty; }

/* State hub header: the partners on the studio backdrop, the photograph sitting on the header's bottom edge. */
.single-practice_area .practice-header--figure { background: var(--hero-backdrop); padding: clamp(1.5rem, 3vw, 2.5rem) 0 0; }
.practice-header--figure::before, .practice-header--figure::after { display: none; }
.practice-header--figure .practice-header-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: clamp(2rem, 4vw, 4rem); align-items: end; }
.practice-header--figure .practice-header-main { align-self: center; padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 5.5vw, 4.5rem); }
.v3-header-figure { margin: 0; align-self: end; }
.v3-header-figure img { width: 100%; height: auto; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%, #000 86%, transparent 100%), linear-gradient(180deg, transparent 0, #000 18%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0, #000 16%, #000 86%, transparent 100%), linear-gradient(180deg, transparent 0, #000 18%); mask-composite: intersect; }
.v3-header-people { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; max-width: 30rem; margin-top: clamp(1.5rem, 2.5vw, 2rem); padding-top: 1rem; border-top: 1px solid var(--rule-dark); }
.v3-header-people a { display: inline-block; padding: .25rem 0; font-family: var(--font-display); font-size: .9375rem; font-weight: 600; color: var(--sky); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .28em; }
.v3-header-people a:hover { color: var(--white); }

/* On this page: every link a full 24px target. */
.single-practice_area .practice-toc li { padding: 0; }
.single-practice_area .practice-toc a { padding-top: .25rem; padding-bottom: .25rem; }
.single-practice_area .practice-toc a::before { top: calc(.25rem + .6em); }
/* On this page: a toggle only on phones; on desktop the list is simply open (practice.js takes the label out of the tab order). */
@media (min-width: 861px) {
  .single-practice_area .practice-toc-label { min-height: 1.5rem; pointer-events: none; cursor: default; }
  .single-practice_area .practice-toc-label::after { display: none; }
}

/* ==========================================================================================================================
   PRACTICE PAGES: body
   ========================================================================================================================== */
.single-practice_area .practice-body:not(:has(+ .practice-body)) { padding-bottom: clamp(3.5rem, 7vw, 5.5rem); }
.single-practice_area .practice-body--close:not(:has(+ .practice-body)) { padding-bottom: clamp(4rem, 8vw, 6.5rem); }
.single-practice_area .practice-head h2 { scroll-margin-top: 2.75rem; padding-right: 1.25rem; }
/* Running text keeps its measure; lists, matters, and the FAQ rules use the whole column, to the header panel's edge. */
.single-practice_area .practice-copy { max-width: none; }
.single-practice_area .practice-copy > p, .single-practice_area .practice-faq > * { max-width: var(--measure); }

/* Openers. style.css sets every section's first paragraph at lede size; here only a short opening paragraph and the
   contact paragraph get it (.is-lede), and later sections open in a quieter lead (.is-lead) so their headings lead. */
.single-practice_area .practice-copy > p:first-child:not(.is-lede, .is-lead, .matter-callout-flag) { font-size: var(--t-body); line-height: 1.6; letter-spacing: 0; font-variation-settings: normal; color: var(--ink); margin-bottom: 1.25em; }
.single-practice_area .practice-copy > p.is-lede { font-size: clamp(1.25rem, 1.65vw, 1.5rem); line-height: 1.42; letter-spacing: -.008em; font-variation-settings: 'opsz' 32; color: var(--steel); margin-bottom: 1.1em; }
.single-practice_area .practice-copy > p.is-lead { font-size: clamp(1.125rem, 1.3vw, 1.1875rem); line-height: 1.55; letter-spacing: -.004em; font-variation-settings: 'opsz' 24; color: var(--steel); margin-bottom: 1.15em; }

/* Two-column Archivo lists (Dan, 2026-09-26) flow down the columns, so items read in order and the spacing stays even. */
.single-practice_area .practice-copy ul:not(.practice-list, .matter-callouts, .voice-list) { display: block; columns: 2; column-gap: 2.5rem; margin: .25rem 0 1.75rem; }
.single-practice_area .practice-copy ul:not(.practice-list, .matter-callouts, .voice-list) li { break-inside: avoid; margin-bottom: .85rem; }

/* People cards in the heading column: a byline, not a portrait gallery. */
.single-practice_area .v3-people { display: grid; gap: .9rem; margin-top: clamp(1.5rem, 2.5vw, 2rem); }
.v3-people-card { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr); column-gap: 1rem; align-items: center; color: inherit; text-decoration: none; }
.v3-people-photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #1E2639; }
.v3-people-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; transition: transform .6s var(--ease-out); }
.v3-people-name { display: block; font-family: var(--font-display); font-weight: 650; font-size: 1.0625rem; line-height: 1.25; color: var(--steel); }
.v3-people-role { display: block; margin-top: .25rem; font-family: var(--font-display); font-size: var(--t-meta); font-weight: 500; line-height: 1.3; color: var(--mist); }
.v3-people-card:hover .v3-people-name { color: var(--lake); text-decoration: underline; text-underline-offset: .2em; }
.v3-people-card:hover .v3-people-photo img { transform: scale(1.04); }

/* State hub: its case types and the civil rights line in the heading column. */
.v3-cases { margin-top: clamp(1.5rem, 2.5vw, 2rem); }
.v3-cases h3 { margin: 0 0 .75rem; padding-bottom: .55rem; border-bottom: 1px solid var(--rule-light); font-size: 1rem; font-stretch: 100%; font-variation-settings: 'wdth' 100; font-weight: 650; letter-spacing: 0; line-height: 1.3; color: var(--steel); }
.v3-cases ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 1.5rem; }
.v3-cases li { position: relative; padding-left: 1.1rem; font-family: var(--font-display); font-weight: 500; font-size: 1.0625rem; line-height: 1.4; color: var(--steel); }
.v3-cases li::before { content: ''; position: absolute; left: 0; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--lake); }
.v3-cases-minor { max-width: 24rem; margin: 1.5rem 0 0; line-height: 1.5; text-wrap: pretty; }
.v3-cases-minor--foot { display: none; }
.v3-cases-minor a { color: var(--lake); white-space: nowrap; }
/* A paragraph whose only element is a link renders as the arrow link (style.css); this line is a sentence with a link in it. */
.single-practice_area .practice-copy p.v3-cases-minor > a:only-child { display: inline; font: inherit; color: var(--lake); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.single-practice_area .practice-copy p.v3-cases-minor > a:only-child::after { display: none; }

/* The federal hub's index: its own band, the rule and the heading across the page, then the four groups as a 2 x 2 on the
   page's two columns (the heading column and the text column), so every section below lines up with them and no page
   name wraps at desktop widths. Groups read in menu order: Fraud, Corruption, then Markets, Investigations. */
.v3-index .v3-index-head h2 { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.v3-index .v3-clusters { grid-template-columns: minmax(max-content, 4fr) minmax(0, 7fr); column-gap: clamp(2.5rem, 6vw, 6rem); }
.v3-index .v3-cluster:nth-child(n + 3) { margin-top: clamp(2.25rem, 3.5vw, 3rem); }

/* Matters: ledger entries. The entry's rule sits on the heading's rule line, the outcome below the H2 size. */
.single-practice_area .practice-copy.practice-matters { padding-top: 0; }
.single-practice_area .practice-copy .matter-callouts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.25rem clamp(2rem, 4vw, 3rem); margin: 0 0 1.75rem; }
.single-practice_area .practice-copy .matter-callout { padding: 1.25rem 0 0; background: none; border: 0; border-top: 1px solid var(--steel); font-family: var(--font-body); font-weight: 400; font-size: var(--t-body); color: var(--ink); }
.single-practice_area .practice-copy .matter-callout h3 { margin: 0 0 .7rem; font-size: inherit; line-height: 1; color: var(--steel); }
.single-practice_area .practice-copy .matter-callout-outcome { display: block; margin: 0; font-family: var(--font-display); font-stretch: 88%; font-variation-settings: 'wdth' 88; font-weight: 750; font-size: clamp(1.5rem, 2.1vw, 1.75rem); line-height: 1.08; letter-spacing: -.02em; color: var(--steel); text-wrap: balance; }
.single-practice_area .matter-callout-title { display: block; margin-top: .5rem; font-family: var(--font-display); font-stretch: 100%; font-variation-settings: 'wdth' 100; font-weight: 600; font-size: 1.0625rem; line-height: 1.3; letter-spacing: 0; color: var(--steel); }
.single-practice_area .practice-copy .matter-callout-detail { max-width: 34rem; margin: 0; font-size: 1rem; line-height: 1.55; color: var(--ink); text-wrap: pretty; }
.single-practice_area .matter-callout-source { max-width: 34rem; margin: .75rem 0 0; line-height: 1.45; text-wrap: pretty; }

/* A matter told in a section's text (Civil Rights): lifted onto its own limestone-light band (the site's proof surface:
   client quotes on home, Reviews, and Referrals), on the text axis, with the disclaimer under it. The rest of the
   section's text follows on white. */
.single-practice_area .v3-record { margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(3rem, 6vw, 4.5rem) 0; background: var(--limestone-light); }
.v3-record-body { grid-column: 2; }
.v3-record-text { max-width: 30em; margin: 0 0 1.1rem; font-size: clamp(1.3125rem, 1.9vw, 1.6875rem); line-height: 1.38; letter-spacing: -.01em; font-variation-settings: 'opsz' 36; color: var(--steel); text-wrap: pretty; }
.v3-record-note { margin: 0; color: var(--mist); }
.v3-record-after { padding-top: clamp(2.5rem, 4vw, 3.5rem); }
.v3-record-after .practice-copy { grid-column: 2; }

/* "Both partners lead the defense on every case": the partners' portraits at size under the text, each card a link. */
.v3-portraits, .practice-copy ul.v3-portraits, .single-practice_area .practice-copy ul.v3-portraits { display: grid; columns: auto; grid-template-columns: repeat(2, minmax(0, 15.5rem)); gap: 1.5rem; margin: clamp(1.75rem, 3vw, 2.5rem) 0 0; padding: 0; list-style: none; }
.practice-copy ul.v3-portraits li { padding: 0; margin: 0; }
.practice-copy ul.v3-portraits li::before { display: none; }
.v3-portrait { display: block; color: inherit; text-decoration: none; }
.v3-portrait-photo { display: block; aspect-ratio: 4 / 5; margin-bottom: .9rem; overflow: hidden; background: #1E2639; }
.v3-portrait-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; transition: transform .6s var(--ease-out); }
.v3-portrait-name { display: block; font-family: var(--font-display); font-weight: 650; font-size: 1.125rem; line-height: 1.25; color: var(--steel); }
.v3-portrait-role { display: block; margin-top: .25rem; font-family: var(--font-display); font-size: var(--t-meta); font-weight: 500; line-height: 1.3; color: var(--mist); }
.v3-portrait:hover .v3-portrait-name { color: var(--lake); text-decoration: underline; text-underline-offset: .2em; }
.v3-portrait:hover .v3-portrait-photo img { transform: scale(1.03); }
@media (max-width: 860px) {
  .v3-record-body, .v3-record-after .practice-copy { grid-column: 1; }
  .v3-record-after { padding-top: 2rem; }
}
@media (max-width: 520px) {
  .v3-portraits, .practice-copy ul.v3-portraits, .single-practice_area .practice-copy ul.v3-portraits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .v3-portrait-name { font-size: 1rem; }
}

/* FAQ band: even padding, cool rules, questions a clear step above their answers. */
.single-practice_area .practice-faqs { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.single-practice_area .practice-faq { padding: 1.6rem 0 .4rem; border-top: 1px solid var(--rule-light); }
.single-practice_area .practice-faq:first-child { padding-top: 0; border-top: 0; }
.single-practice_area .practice-faq h3 { margin-bottom: .65rem; font-size: clamp(1.1875rem, 1.5vw, 1.3125rem); line-height: 1.3; text-wrap: balance; }

/* ==========================================================================================================================
   RESPONSIVE
   ========================================================================================================================== */
@media (min-width: 1101px) {
  .single-practice_area .practice-copy .matter-callouts:has(> li + li) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .v3-clusters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v3-cluster:nth-child(n + 3) { margin-top: 2.25rem; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .single-practice_area .practice-copy ul:not(.practice-list, .matter-callouts, .voice-list) { columns: 1; }
}
@media (max-width: 900px) {
  .v3-cases, .v3-cases-minor--head { display: none; }
  .single-practice_area .practice-copy > .v3-cases-minor--foot { display: block; margin: 1.75rem 0 0; }
}
@media (max-width: 860px) {
  .v3-index .v3-clusters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v3-dir-grid { grid-template-columns: minmax(0, 1fr); row-gap: clamp(2.5rem, 6vw, 3.5rem); }
  .v3-dir-side { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
  /* People cards go two-up only once the heading column has stacked (at 861 to 900 the column is too narrow). */
  .single-practice_area .v3-people { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
  .practice-header--hub .practice-header-main { grid-template-columns: minmax(0, 1fr); }
  .practice-header--hub .practice-toc { grid-column: 1; margin-top: 1.5rem; }
  .practice-header--figure .practice-header-grid { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .practice-header--figure .practice-header-main { padding: 1.5rem 0 1.75rem; }
  .v3-header-figure { margin: 0 calc(-1 * var(--gutter)); aspect-ratio: 16 / 10; overflow: hidden; }
  .v3-header-figure img { height: 100%; object-fit: cover; object-position: 50% 0; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 9%); mask-image: linear-gradient(180deg, transparent 0, #000 9%); }
  /* Phones: the contents toggle and the panel's links are full tap targets. */
  .single-practice_area .practice-toc-label { min-height: 2.75rem; margin-bottom: 0; }
  .single-practice_area .practice-toc a { padding-top: .3rem; padding-bottom: .3rem; }
  .single-practice_area .practice-toc a::before { top: calc(.3rem + .6em); }
  .single-practice_area .practice-answer > p:not(.practice-answer-yes), .single-practice_area .practice-answer-more p { max-width: 38rem; }
}
@media (max-width: 640px) {
  .v3-dir-groups { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
  .v3-dir-side { grid-template-columns: minmax(0, 1fr); }
  .v3-clusters, .v3-index .v3-clusters { grid-template-columns: minmax(0, 1fr); }
  .v3-cluster { display: block; }
  .v3-cluster:nth-child(n + 2) { margin-top: 2rem; }
}
@media (max-width: 520px) {
  .single-practice_area .practice-copy ul:not(.practice-list, .matter-callouts, .voice-list) { columns: 1; }
  .single-practice_area .v3-people { grid-template-columns: minmax(0, 1fr); }
}
@media (hover: none) {
  .single-practice_area .practice-toc-label:hover { color: var(--sky); }
}
