/* v6 (2026-10-13). The client revision round (Jonathan, October 9 to 11) in v4's hand: v4's tokens, type, spacing and
   motion. Loaded after v4's page files on every page; scoped by body class v6. Tokens are in style.css; the components
   these rules extend live in v4/global.css, v4/home.css, v4/practice.css and v4/pages.css. */

/* ---------- Hero: the editable headline with its supporting line ---------- */
/* The line is short again ("Your case. Both partners." is the installed proposal), so the heading is back at --t-hero
   (v4 stepped it down only to hold ", Chicago." on three lines). The supporting line is set as the band ledes are. */
.v6 .v4-hero .hero-heading { font-size: var(--t-hero); max-width: 12ch; }
@media (max-width: 560px) { .v6 .v4-hero .hero-heading { font-size: clamp(2.5rem, 10vw, 3.3rem); } }

/* ---------- THE COURTROOM SKETCH (6.0.5, Dan 2026-10-15) ---------- */
/* The sketch behind the judge's and client quotes read as a smudge, faint enough that it was hard to tell what it was.
   One step up in both bands (home-bench.php, bench-band.php; nothing else uses .v4-bench) and a little more contrast in
   the pencil lines; the overlays that keep the quote readable are unchanged. Home: .34 to .46 (.22 to .32 on phones);
   practice pages: .26 to .36. */
.v6 .v4-bench .v4-band-img { opacity: .36; filter: grayscale(1) contrast(1.12); }
.v6 .v4-bench--right .v4-band-img { opacity: .46; }
@media (max-width: 900px) { .v6 .v4-bench--right .v4-band-img { opacity: .32; } }

/* ---------- HERO LEVELS (6.0.2, Dan 2026-10-15) ---------- */
/* The supporting line read like the judge's words: the same serif, the same paper, a size apart. [proposed] Three
   voices, one per level: the heading in the serif; the supporting line in Public Sans at full paper, one sentence per
   line (home-hero.php), so it reads as part of the heading; the quotes set off as testimony behind a lake hairline,
   with the pause control inside it.
   6.0.4 [Dan, 2026-10-15]: the supporting line in light lake (--lake-light, the logo's ampersand on dark), about 8.8:1 on
   the hero backdrop; the darker --lake measured about 3.6:1 there, under AA for text this size. */
.v6 .hero-supporting { margin: 1.15rem 0 0; max-width: none; font-family: var(--font-display); font-weight: 500; font-size: clamp(1.0625rem, .95rem + .3vw, 1.1875rem); line-height: 1.5; letter-spacing: 0; color: var(--lake-light); text-wrap: pretty; }
.v6 .hero-supporting-line { display: block; }
/* The hairline belongs to each quote, not the track: the track holds the tallest slide, so a rule on it ran on into empty
   space under a short quote. Each slide sits at the top of the cell at its own height; the control lines up with the text. */
.v6 .v4-hero-quotes { margin-top: clamp(2rem, 3.4vw, 3rem); --quote-inset: clamp(1.1rem, 1.6vw, 1.5rem); }
.v6 .v4-hero-quote { align-self: start; padding-left: var(--quote-inset); border-left: 2px solid rgba(142, 195, 226, .7); }
.v6 .v4-hero-quote[hidden] { display: none; }

/* 6.0.3 (Dan, 2026-10-15): a recognition mark as a slide. The name at a size between the quote and the heading, the
   category under it in Public Sans; the same hairline as the quotes, so the rotation reads as one set. */
.v6 .v4-hero-quote .v4-hero-mark-title { margin: 0; font-family: var(--font-serif); font-weight: 400; font-size: clamp(1.6rem, 1.15rem + 1.1vw, 2.1rem); line-height: 1.15; letter-spacing: -.01em; text-indent: 0; color: var(--paper); text-wrap: balance; }
.v6 .v4-hero-quote .v4-hero-mark-title a { color: inherit; text-decoration: underline; text-decoration-color: rgba(142, 195, 226, .55); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: text-decoration-color .25s var(--ease-out); }
.v6 .v4-hero-quote .v4-hero-mark-title a:is(:hover, :focus-visible) { color: var(--paper); text-decoration-color: var(--lake-light); }
.v6 .v4-hero-quote .v4-hero-mark-what { margin-top: .65rem; font-family: var(--font-display); font-size: 1rem; line-height: 1.45; color: var(--ice); text-wrap: balance; }

/* The controls: the step line (one segment per slide; the current one brighter, filling over nine seconds and paused
   with the rotation), then Pause/Play, Previous and Next as small outlined squares (2px corners, as the buttons). */
.v6 .v4-hero-controls { display: flex; align-items: center; gap: .375rem; margin: 1.15rem 0 0 calc(var(--quote-inset) + 2px); }
.v6 .v4-hero-controls[hidden] { display: none; }
.v6 .v4-hero-steps { display: flex; align-items: center; gap: .3rem; margin-right: auto; padding-right: .75rem; }
.v6 .v4-hero-step { position: relative; width: clamp(1.1rem, 1.9vw, 1.75rem); height: 2px; overflow: hidden; background: rgba(156, 195, 221, .22); transition: background-color .3s var(--ease-out); }
.v6 .v4-hero-step.is-current { background: rgba(156, 195, 221, .45); }
.v6 .v4-hero-step-fill { position: absolute; inset: 0; background: var(--lake-light); transform: scaleX(0); transform-origin: left center; }
.v6 .v4-hero-step.is-current .v4-hero-step-fill { animation: v6-hero-step 9s linear forwards; animation-play-state: paused; }
.v6 .v4-hero-quotes.is-running .v4-hero-step.is-current .v4-hero-step-fill { animation-play-state: running; }
@keyframes v6-hero-step { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.v6 .v4-hero-controls button { display: inline-grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; margin: 0; padding: 0; background: transparent; border: 1px solid rgba(156, 195, 221, .3); border-radius: 2px; color: var(--paper); cursor: pointer; transition: border-color .2s var(--ease-out), color .2s var(--ease-out); }
.v6 .v4-hero-controls button:hover { border-color: var(--lake-light); color: var(--lake-light); }
.v6 .v4-hero-controls button:focus-visible { outline: 2px solid var(--lake-light); outline-offset: 2px; }
.v6 .v4-hero-icon { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.v6 .v4-hero-icon--play { display: none; fill: currentColor; stroke-width: 1; }
.v6 .v4-hero-quotes-toggle.is-paused .v4-hero-icon--pause { display: none; }
.v6 .v4-hero-quotes-toggle.is-paused .v4-hero-icon--play { display: block; }

/* The review switch (bs_hero_review_switch(); off before launch): top left of the hero, over the backdrop above the
   partners, clear of the heading. The chosen option in paper; the other plain. */
.v6 .v6-hero-switch { position: absolute; z-index: 6; top: clamp(.75rem, 2vh, 1.25rem); left: var(--gutter); display: flex; align-items: center; gap: .2rem; padding: .25rem; background: rgba(21, 24, 28, .9); border: 1px solid rgba(156, 195, 221, .25); border-radius: 2px; font-family: var(--font-display); font-size: .75rem; line-height: 1; color: var(--smoke); }
.v6 .v6-hero-switch-label { padding: 0 .45rem 0 .4rem; }
.v6 .v6-hero-switch button { margin: 0; padding: .5rem .65rem; background: transparent; border: 0; border-radius: 1px; font: inherit; font-weight: 600; color: var(--paper); cursor: pointer; }
.v6 .v6-hero-switch button[aria-pressed="true"] { background: var(--paper); color: var(--ink); }
.v6 .v6-hero-switch button:not([aria-pressed="true"]):hover { color: var(--lake-light); }
.v6 .v6-hero-switch button:focus-visible { outline: 2px solid var(--lake-light); outline-offset: 2px; }
@media (max-width: 400px) { .v6 .v6-hero-switch-label { display: none; } }

/* The marks: the grid held two, so a third wrapped under the first behind a stray rule. An odd count gives the first
   mark (Chambers, the firm's ranking and the longest line) the full row and pairs the rest; an even count pairs them
   all. One hairline above each row, one between the pair. A single column only below 360px. */
.v6 .v4-hero .hero-recognition { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 0; border-bottom: 0; }
.v6 .v4-hero .hero-recognition li, .v6 .v4-hero .hero-recognition li + li { padding: .6rem 1.25rem .65rem 0; border: 0; border-top: 1px solid rgba(156, 195, 221, .3); }
.v6 .v4-hero .hero-recognition[hidden] { display: none; }
/* 6.0.3: four marks (Leading Lawyers added) sit two by two; the names a step smaller so "Chambers USA Spotlight" holds one
   line in a half column at 1440, and the four stay on the first screen of a 1280x800 window. */
.v6 .v4-hero .hero-mark { gap: .2rem; }
.v6 .v4-hero .hero-mark-name { font-size: 1.0625rem; }
.v6 .v4-hero .hero-mark-cat { font-size: .8125rem; line-height: 1.4; }
.v6 .v4-hero .hero-recognition.is-odd li:first-child { grid-column: 1 / -1; padding-right: 0; }
.v6 .v4-hero .hero-recognition:not(.is-odd) li:nth-child(even), .v6 .v4-hero .hero-recognition.is-odd li:nth-child(odd):not(:first-child) { padding-left: 1.25rem; padding-right: 0; border-left: 1px solid rgba(156, 195, 221, .3); }
/* Desktop windows up to 940px tall (1280x800, 1440x900): the second row of marks costs about 45px, so the space above
   the quotes and above the marks closes up and the marks stay on the first screen. */
@media (min-width: 901px) and (max-height: 940px) {
  .v6 .v4-hero-quotes { margin-top: clamp(1.25rem, 3vh, 2rem); }
  .v6 .v4-hero .hero-recognition { margin-top: .75rem; }
}
@media (min-width: 901px) and (max-height: 860px) {
  .v6.home .v4-hero .hero-panel { gap: 1rem; }
  .v6 .v4-hero-controls { margin-top: .75rem; }
  .v6 .v4-hero-controls button { width: 2rem; height: 2rem; }
}
@media (min-width: 901px) and (max-width: 1439px) {
  .v6 .v4-hero .hero-recognition li, .v6 .v4-hero .hero-recognition li + li { padding-right: 1rem; }
  .v6 .v4-hero .hero-recognition:not(.is-odd) li:nth-child(even), .v6 .v4-hero .hero-recognition.is-odd li:nth-child(odd):not(:first-child) { padding-left: 1rem; padding-right: 0; }
  .v6 .v4-hero .hero-mark-name { font-size: 1rem; }
}
@media (min-width: 901px) and (max-height: 800px) {
  .v6 .v4-hero-quote p { font-size: min(clamp(1.2rem, 1.5vw, 1.5rem), 2.5vh); }
  .v6 .v4-hero .hero-recognition { margin-top: .25rem; }
}
@media (max-width: 359px) {
  .v6 .v4-hero .hero-recognition { grid-template-columns: minmax(0, 1fr); }
  .v6 .v4-hero .hero-recognition li, .v6 .v4-hero .hero-recognition li + li { grid-column: auto; padding-left: 0; padding-right: 0; border-left: 0; }
}

/* ---------- The partners on Home: one photograph of both, the two names beneath ---------- */
/* Monochrome at rest and in colour on hover and focus, as every v4 photograph (item 13); colour on touch screens. */
.v6 .v4-partners-together { display: grid; gap: 1.25rem; align-content: start; }
.v6 .v4-photo--joint { display: block; aspect-ratio: 3 / 2; }
.v6 .v4-photo--joint img { filter: grayscale(1); transition: filter .5s var(--ease-out); }
@media (hover: hover) { .v6 .v4-photo--joint:hover img, .v6 .v4-photo--joint:focus-visible img { filter: none; } }
@media (hover: none) { .v6 .v4-photo--joint img { filter: none; } }
@media (prefers-reduced-motion: reduce) { .v6 .v4-photo--joint img { transition: none; } }
.v6 .v4-partners-names { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.v6 .v4-partners-names .v4-person { display: grid; gap: .2rem; align-content: start; }
@media (max-width: 400px) { .v6 .v4-partners-names { grid-template-columns: 1fr; } }

/* ---------- Practice areas on Home: federal and state as two rows of the same kind, civil rights as the minor line ---------- */
.v6 .v4-practice-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding: clamp(2.25rem, 4vw, 3.5rem) 0; border-top: 1px solid var(--stone); }
.v6 .v4-practice-row .v4-practice-hub { font-size: clamp(1.6rem, 2.4vw, 2.25rem); max-width: 14ch; }
.v6 .v4-practice-row .v4-practice-lede { max-width: 32ch; }
.v6 .v4-practice-head .text-link { display: inline-flex; margin-top: 1.25rem; }
.v6 .v4-practice-row .v4-groups { margin-top: 0; }
.v6 .v4-practice-minor { margin: 0; padding-top: clamp(1.5rem, 3vw, 2.25rem); border-top: 1px solid var(--stone); font-family: var(--font-serif); font-size: 1.15rem; line-height: 1.4; color: var(--slate); }
.v6 .v4-practice-minor a { color: var(--lake); }
.v6 .v4-practice-minor a:hover { color: var(--ink); }
@media (max-width: 900px) { .v6 .v4-practice-row { grid-template-columns: 1fr; gap: 1.75rem; } }

/* ---------- The practice panel: the two hubs side by side, each with its four groups, the index on the bottom rule ---------- */
@media (min-width: 1180px) {
  .v6 .site-header .nav-mega .nav-mega-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); padding-top: clamp(2.25rem, 4vw, 3rem); padding-bottom: clamp(2.25rem, 4vw, 3rem); }
  .v6 .site-header .nav-mega-clusters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2.25rem; }
  .v6 .site-header .nav-mega-col--state { padding-left: clamp(2rem, 3vw, 3rem); border-left: 1px solid var(--charcoal-2); }
  .v6 .site-header .nav-mega-col--state p:not(.nav-mega-label) { margin: 0; font-size: inherit; color: inherit; }
  .v6 .site-header .nav-mega ul a { font-size: .9rem; padding: .3rem 0; }
  .v6 .site-header .nav-mega-hub { margin-bottom: 1.25rem; }
  .v6 .site-header .nav-mega { max-height: calc(100dvh - var(--header-h)); overflow-y: auto; }
}
.v6 .site-header .nav-mega-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .75rem 2rem; padding-top: 1.25rem; border-top: 1px solid var(--charcoal-2); }
.v6 .site-header .nav-mega-foot .nav-mega-minor { margin: 0; font-family: var(--font-display); font-size: .9rem; line-height: 1.5; color: var(--smoke); }
.v6 .site-header .nav-mega-foot .nav-mega-minor a { color: var(--paper); }
.v6 .site-header .nav-mega-foot .nav-mega-minor a:hover { color: var(--lake-light); }
@media (max-width: 1179px) { .v6 .site-header .nav-mega-foot { border-top-color: var(--rule-dark); } .v6 .site-header .nav-mega-foot .nav-mega-minor, .v6 .site-header .nav-mega-foot .nav-mega-minor a { color: var(--ice); } }

/* ---------- The hubs: the groups as sections, the topics as subsections with their own matters ---------- */
.v6 .v4-pa-group .v4-topic + .v4-topic { margin-top: clamp(2rem, 4vw, 3rem); padding-top: clamp(1.75rem, 3vw, 2.5rem); border-top: 1px solid var(--stone); }
.v6 .v4-topic h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 1.9rem); line-height: 1.15; margin: 0 0 .8rem; max-width: 24ch; }
.v6 .v4-topic .text-link { display: inline-flex; margin: .25rem 0 0; }
.v6 .v4-topic-matters { margin-top: 1.5rem; }
.v6 .v4-topic-matters .v4-eyebrow { margin-bottom: .35rem; }
.v6 .v4-pa-group > .v4-record-note { margin: 1.5rem 0 0; font-family: var(--font-display); font-size: .82rem; color: var(--slate); }

/* ---------- The matters ledger (practice pages and hub topics): entries on a rule, collapsible past four ---------- */
.v6 .v4-matters-ledger .matter-callouts { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--stone); }
.v6 .v4-matters-ledger .matter-callout { padding: 1.25rem 0; border-top: 1px solid var(--stone); }
.v6 .v4-matters-ledger .matter-callout :is(h3, h4, h5) { font-family: var(--font-serif); font-weight: 400; font-size: 1.25rem; line-height: 1.25; margin: 0 0 .4rem; max-width: none; }
.v6 .v4-matters-ledger .matter-callout-outcome { color: var(--lake); }
.v6 .v4-matters-ledger .matter-callout p { margin: 0 0 .35rem; font-size: .95rem; line-height: 1.5; color: var(--slate); }
.v6 .v4-matters-ledger .matter-callout-text p { margin: 0 0 .75em; font-size: 1rem; line-height: 1.6; color: var(--ink); }
.v6 .v4-matters-ledger .matter-callout-text p:last-child { margin-bottom: 0; }
.v6 .v4-matters-ledger .matter-callout-text ul { margin: .35rem 0 0; padding: 0; list-style: none; font-family: var(--font-display); font-size: .85rem; line-height: 1.6; color: var(--slate); }
.v6 .v4-matters-ledger .matter-callout-text li { display: inline; margin: 0; font-size: inherit; line-height: inherit; }
.v6 .v4-matters-ledger .matter-callout-text li + li::before { content: '\00B7'; margin: 0 .5em; color: var(--smoke); }
.v6 .v4-matters-ledger .matter-callout-text li::marker { content: none; }
.v6 .v4-matters-ledger .matter-callout-source { margin-top: .5rem; }
.v6 .v4-matters-ledger .matter-callout-source a { color: var(--lake); }
.v6 .v4-matters-ledger details > summary { cursor: pointer; list-style: none; position: relative; padding-right: 2.5rem; }
.v6 .v4-matters-ledger details > summary::-webkit-details-marker { display: none; }
.v6 .v4-matters-ledger details > summary::after { content: '+'; position: absolute; right: .25rem; top: -.1rem; font-family: var(--font-display); font-weight: 300; font-size: 1.6rem; line-height: 1; color: var(--lake); }
.v6 .v4-matters-ledger details[open] > summary::after { content: '\2212'; }
.v6 .v4-matters-ledger details > summary:hover :is(h3, h4, h5) { color: var(--lake); }
.v6 .v4-matters-ledger details > summary :is(h3, h4, h5) { transition: color .2s var(--ease-out); }
.v6 .v4-matters-ledger details > summary p:last-child { margin-bottom: 0; }
.v6 .v4-matters-ledger details .matter-callout-body { padding-top: .6rem; }
.v6 .v4-matters-controls { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0 0 .75rem; }
.v6 .v4-matters-controls[hidden] { display: none; }
.v6 .v4-matters-controls button { background: none; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; padding: .2rem 0; font-family: var(--font-display); font-size: .85rem; font-weight: 600; letter-spacing: .02em; line-height: 1.3; color: var(--lake); cursor: pointer; }
.v6 .v4-matters-controls button:hover { color: var(--ink); }
.v6 .v4-matters-controls button:focus-visible { outline-offset: 3px; }

/* ---------- Practice pages: the open question and the email links in lake (Dan, 2026-10-11) ---------- */
.v6.v4-practice .v4-faq-item[open] > summary, .v6.v4-practice .v4-pa-closing-contact a[href^="mailto:"], .v6.v4-practice .v4-call-email { color: var(--lake); }

/* ---------- The Firm: the partners side by side in About us; the rail is gone ---------- */
.v6 .v4-firm.v4-page-layout { grid-template-columns: minmax(0, 1fr); }
.v6 .v4-firm .v4-page-main { max-width: none; }
.v6 .v4-firm .v4-pa-section:not(.v4-firm-about) { max-width: 46rem; }
.v6 .v4-firm-about-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.v6 .v4-firm-partners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.v6 .v4-firm-partners .v4-person { display: grid; gap: .2rem; align-content: start; color: var(--ink); text-decoration: none; }
.v6 .v4-firm-partners .v4-photo--portrait { aspect-ratio: 4 / 5; margin-bottom: .9rem; }
.v6 .v4-firm-partners .v4-photo--portrait img { object-position: 50% 12%; }
.v6 .v4-firm-partners .v4-person-name { font-family: var(--font-serif); font-size: clamp(1.15rem, 1.6vw, 1.5rem); line-height: 1.15; transition: color .25s var(--ease-out); }
.v6 .v4-firm-partners .v4-person:hover .v4-person-name { color: var(--lake); }
.v6 .v4-firm-partners .v4-person-role { font-family: var(--font-display); font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--slate); }
.v6 .v4-firm-partners .v4-person-summary { display: none; }
@media (max-width: 860px) { .v6 .v4-firm-about-grid { grid-template-columns: 1fr; } .v6 .v4-firm-partners { max-width: 34rem; } }

/* ---------- Contact: the urgent-matters box beside the phone and email ---------- */
.v6 .v4-contact-urgent { margin: 1.75rem 0 .25rem; max-width: 30rem; }
.v6 .v4-contact-urgent h2 { margin: 0; font-family: var(--font-display); font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--smoke); }
.v6 .v4-contact-urgent p { font-size: 1.2rem; }

/* ---------- Contrast: lake-text for small lake text on paper (axe, 2026-10-13: lake on paper is 4.12:1). On ink, lake-light as before. ---------- */
.v6 a, .v6 .text-link, .v6 .v4-pa-copy a, .v6 .v4-contact-notes a, .v6 .v4-practice-minor a, .v6 .v4-toc a.is-active, .v6 .v4-matters-controls button, .v6 .v4-matters-ledger .matter-callout-outcome, .v6 .v4-matters-ledger .matter-callout-source a, .v6 .v4-pa-matters .matter-callout-outcome, .v6 .v4-contact-office a, .v6 .v4-matter-meta a { color: var(--lake-text); }
.v6.v4-practice .v4-faq-item[open] > summary, .v6.v4-practice .v4-pa-closing-contact a[href^="mailto:"], .v6.v4-practice .v4-call-email { color: var(--lake-text); }
.v6 a:hover, .v6 .text-link:hover, .v6 .v4-pa-copy a:hover, .v6 .v4-practice-minor a:hover { color: var(--ink); }
.v6 .on-dark a, .v6 .on-dark .text-link, .v6 .site-header a, .v6 .site-footer a, .v6 .v4-intro .v4-statement h3 a, .v6 .v4-map-card .text-link, .v6 .phone-float { color: inherit; }
.v6 .on-dark .text-link, .v6 .v4-map-card .text-link, .v6 .v4-intro .v4-statement h3 a { color: var(--lake-light); }
.v6 .on-dark .text-link:hover, .v6 .v4-map-card .text-link:hover { color: var(--paper); }
.v6 .on-dark a:hover, .v6 .v4-intro .v4-statement h3 a:hover { color: var(--paper); }
.v6 .site-header a:hover, .v6 .site-footer a:hover { color: var(--lake-light); }
.v6 .site-footer a, .v6 .site-header a { color: var(--paper); }
.v6 .site-footer .v4-footer-bottom a { color: var(--smoke); }
.v6 .site-footer .v4-footer-privacy, .v6 .site-footer .v4-footer-firm-link { color: var(--paper) !important; }
.v6 .site-footer a[aria-current="page"], .v6 .site-header .nav-mega a[aria-current="page"], .v6 .site-header .nav-sub a[aria-current="page"], .v6 .site-header .nav-sub-all a { color: var(--lake-light); }
.v6 .site-header .nav-mega-foot .nav-mega-minor a { color: var(--paper); }
.v6 .site-header .nav-mega-foot .nav-mega-minor a:hover, .v6 .site-header .nav-mega ul a:is(:hover, :focus-visible), .v6 .site-header .nav-sub a:hover { color: var(--lake-light); }
.v6 .v4-group li a { color: var(--ink); } .v6 .v4-group li a:hover { color: var(--lake); }
.v6 .v4-dir-head h2 a, .v6 .v4-practice-hub a, .v6 .v4-types h3 a, .v6 .v4-press-title a, .v6 .v3-mark-rows a, .v6 .v4-contact-partners a, .v6 .v4-footer-nav a, .v6 .v4-pa-closing-contact a:not([href^="mailto:"]), .v6 .v4-call-phone, .v6 .v4-contact-phone, .v6 .v4-contact-email, .v6 .v4-toc a:not(.is-active), .v6 .v4-person, .v6 .v4-people-card, .v6 .v4-chip, .v6 .hero-mark, .v6 .v4-people-card { color: inherit; }
.v6 .v4-dir-head h2 a, .v6 .v4-types h3 a, .v6 .v4-press-title a, .v6 .v4-contact-partners a, .v6 .v4-toc a:not(.is-active), .v6 .v4-pa-closing-contact a, .v6 .v4-call-phone, .v6 .v4-contact-phone, .v6 .v4-contact-email, .v6 .v4-people-card { color: var(--ink); }
.v6 .v3-mark-rows a { color: var(--ink); } .v6 .v4-recognition .v3-mark-rows a { color: var(--paper); }
.v6 .v4-dir-head h2 a:hover, .v6 .v4-types h3 a:hover, .v6 .v4-press-title a:hover, .v6 .v4-contact-partners a:hover, .v6 .v4-toc a:hover, .v6 .v4-pa-closing-contact a:hover, .v6 .v4-call-phone:hover, .v6 .v4-contact-phone:hover, .v6 .v4-contact-email:hover, .v6 .v4-call-email:hover, .v6 .v3-mark-rows a:hover { color: var(--lake); }
.v6 .v4-practice-hub a { color: inherit; } .v6 .v4-practice-hub a:hover { color: var(--lake); } .v6 .v4-practice-card .v4-practice-hub a:hover { color: var(--lake-light); }

/* ---------- PEER RECOGNITION AND IN THE PRESS (6.0.7, Dan 2026-10-15) ---------- */
/* Peer recognition (template-parts/recognition.php, on Recognition and Firm): the linked lines in the same gray as the
   plain line under a mark with no link (Leading Lawyers), so the two read alike at first glance; no underline until
   hover or keyboard focus. Slate on paper (Recognition), smoke on ink (the Firm band). */
body.v4.v6 .v3-mark-rows a, body.v4.v6 .v3-mark-rows a:hover { color: var(--slate); text-decoration: none; }
body.v4.v6 .v3-mark-rows a:is(:hover, :focus-visible) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: currentColor; }
body.v4.v6 .v4-recognition .v3-mark-rows a, body.v4.v6 .v4-recognition .v3-mark-rows a:hover { color: var(--smoke); }
/* In the press on Recognition sits on ink; the general press-title rule above set its headlines in ink, so they did not
   show. Paper, lake light on hover, as v4 set them. */
.v6 .v4-rec-press .v4-press-title a { color: var(--paper); }
.v6 .v4-rec-press .v4-press-title a:hover { color: var(--lake-light); }

/* ---------- REPRESENTATIVE MATTERS PAGE AND HOME LINKS (6.0.8, Dan 2026-10-15) ---------- */
/* Home: each column ends in a link to its full list (All representative matters; All press clippings). */
/* The two columns stretch to the row and the links sit at the foot of each, so they line up across. */
.v6 .v4-matters-grid { align-items: stretch; }
.v6 .v4-matters-list, .v6 .v4-press { display: flex; flex-direction: column; }
.v6 .v4-matters-more { margin: auto 0 0; padding-top: 1.5rem; }
/* The page (page-representative-matters.php): the hub as the section heading, the group label as the menu sets it
   (small tracked caps over a stone rule), each practice page in the serif over its ledger. The side list jumps to the
   groups; anchors clear the sticky header. */
.v6 .v6-matters-hub + .v6-matters-hub { margin-top: clamp(3.5rem, 7vw, 5.5rem); }
.v6 .v6-matters-hub > h2 { margin: 0; font-size: var(--t-h2); scroll-margin-top: calc(var(--header-h) + 1.5rem); }
.v6 .v6-matters-hub > h2 a, .v6 .v6-matters-page-title a { color: var(--ink); text-decoration: none; transition: color .25s var(--ease-out); }
.v6 .v6-matters-hub > h2 a:hover, .v6 .v6-matters-page-title a:hover { color: var(--lake-text); }
.v6 .v6-matters-group { margin-top: clamp(2.25rem, 4vw, 3rem); scroll-margin-top: calc(var(--header-h) + 1.5rem); }
.v6 .v6-matters-group-label { margin: 0; padding-bottom: .6rem; border-bottom: 1px solid var(--stone); font-family: var(--font-display); font-size: .78rem; font-weight: 600; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; color: var(--slate); }
.v6 .v6-matters-entry { margin-top: 1.75rem; }
.v6 .v6-matters-page-title { margin: 0 0 .35rem; font-family: var(--font-serif); font-weight: 400; font-size: clamp(1.3rem, 1.15rem + .5vw, 1.55rem); line-height: 1.2; }
.v6 .v6-matters-page .v4-legal { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.v6 .v6-matters-toc { margin-bottom: 2rem; }
.v6 .v6-matters-toc .v4-side-label { margin: 1.25rem 0 .5rem; }
.v6 .v6-matters-toc .v4-side-label:first-child { margin-top: 0; }
.v6 .v6-matters-toc .v4-side-label a { color: inherit; text-decoration: none; }
.v6 .v6-matters-toc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.v6 .v6-matters-toc li a { font-family: var(--font-display); font-size: .9rem; line-height: 1.4; color: var(--slate); text-decoration: none; }
.v6 .v6-matters-toc a:is(:hover, :focus-visible) { color: var(--lake-text); text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 860px) { .v6 .v6-matters-toc { display: none; } }

/* ---------- THE HOME HEADLINE, ONE SENTENCE PER LINE (6.0.9, Dan 2026-10-15) ---------- */
/* "Two trial lawyers. Every case." broke into three lines in the 12ch measure ("Two trial / lawyers. / Every case.").
   Each sentence now holds its own line (home-hero.php), and on desktop the size follows the text column so the longer
   one fits: "Two trial lawyers." runs about 7.8 times the font size, so the size is the column over 8.1, never above
   --t-hero (about 52px at 1280, 59px from 1440 up). Phones and tablets keep their sizes; the line already fits there. */
.v6 .v4-hero .hero-heading { max-width: none; }
.v6 .hero-heading-line { display: block; }
@media (min-width: 901px) { .v6 .v4-hero .hero-heading { font-size: min(var(--t-hero), calc(var(--hero-text) / 8.1)); } }
/* Below 380px the first sentence would wrap at 40px; size it to the screen (about 37px at 320). */
@media (max-width: 380px) { .v6 .v4-hero .hero-heading { font-size: min(2.5rem, calc((100vw - 2.5rem) / 7.6)); } }

/* ---------- THE HERO ON SMALLER DESKTOPS (6.0.10, Dan 2026-10-15) ---------- */
/* The photograph always fills the hero's height. Since October 6 it shrank with its column (home.css, --fit) so the
   partners never ran into the text; below about 1200px wide that left them small and low under an empty block. Now
   the column crops the frame instead: where the column is narrower than the partners, the outer edges of their arms
   are trimmed, and the right edge still fades into the text column. Wide windows are unchanged in effect (the photo
   was already full height there); the fade runs 6rem at 1024 to 9rem at 1800 and up. */
@media (min-width: 901px) {
  .v6 .v4-hero .hero-photo img { top: 0; bottom: 0; height: 100%; object-position: 50% 22%; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - clamp(6rem, 8vw, 9rem)), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - clamp(6rem, 8vw, 9rem)), transparent); }
}
/* Desktop windows 720px tall or less (a 1366x768 or 1280x800 laptop once the browser's bars are counted): the marks
   show their names only, two by two, so all four stay on the first screen. The categories stay in the page for screen
   readers, and show in full on taller windows and on Recognition. */
@media (min-width: 901px) and (max-height: 720px) {
  .v6 .v4-hero .hero-mark-cat { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .v6 .v4-hero .hero-recognition li, .v6 .v4-hero .hero-recognition li + li { padding-top: .5rem; padding-bottom: .5rem; }
}

/* ---------- THE MATTERS AUDIT (6.0.11, Dan 2026-10-15) ---------- */
/* Every ledger: a record without a write-up prints its outcome as a result line under its title (practice-matters.php),
   in ink, a step bolder than the court line; the court-and-year line a step larger (it carries the outcome on many). */
.v6 .v4-matters-ledger .matter-callout p.matter-callout-result { margin: 0 0 .3rem; font-family: var(--font-display); font-size: .95rem; font-weight: 600; line-height: 1.45; color: var(--ink); }
.v6 .v4-matters-ledger .matter-callout-text ul { font-size: .9rem; }
/* The Representative Matters page: clear steps from hub to group to practice page to matter. The practice page's name
   leads its list with room above it; the matters' titles a step below it; no second rule where a group label sits
   directly on its list ("Other federal matters"). */
.v6 .v6-matters-page .v6-matters-entry { margin-top: clamp(2.25rem, 4vw, 3rem); }
.v6 .v6-matters-page .v6-matters-group-label + .v6-matters-entry { margin-top: 1.5rem; }
.v6 .v6-matters-page .v6-matters-page-title { margin: 0 0 .75rem; font-size: clamp(1.45rem, 1.25rem + .6vw, 1.75rem); }
.v6 .v6-matters-page .v4-matters-ledger .matter-callout :is(h3, h4, h5) { font-size: 1.125rem; line-height: 1.3; }
.v6 .v6-matters-page .v6-matters-group-label + .v6-matters-entry .matter-callout:first-child { border-top: 0; padding-top: .5rem; }
/* Phones: the jump list at the top, closed until tapped (the sidebar's is hidden below 860px). */
.v6 .v6-matters-jump { display: none; }
@media (max-width: 860px) {
  .v6 .v6-matters-jump { display: block; margin: 0 0 2.25rem; padding: .85rem 1rem; border: 1px solid var(--stone); border-radius: 2px; }
  .v6 .v6-matters-jump > summary { cursor: pointer; font-family: var(--font-display); font-size: .95rem; font-weight: 600; color: var(--ink); }
  .v6 .v6-matters-jump .v4-side-label { margin: 1rem 0 .4rem; }
  .v6 .v6-matters-jump ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
  .v6 .v6-matters-jump a { font-family: var(--font-display); font-size: .95rem; color: var(--slate); text-decoration: none; }
}
/* A record's own description (no write-up) reads as the write-ups do; titles a touch firmer so each entry starts clearly. */
.v6 .v4-matters-ledger .matter-callout p.matter-callout-desc { margin: 0 0 .35rem; font-size: 1rem; line-height: 1.6; color: var(--ink); }
.v6 .v6-matters-page .v4-matters-ledger .matter-callout :is(h3, h4, h5) { font-size: 1.2rem; font-weight: 500; }

/* ---------- THE MATTERS PAGE: SIDEBAR AND GROUP LABELS (6.0.12, Dan 2026-10-15) ---------- */
/* The group labels in the list (Fraud, Investigations, ...) in lake text with a short lake bar on their rule, so each
   section's start reads at a glance. */
.v6 .v6-matters-page .v6-matters-group-label { position: relative; color: var(--lake-text); font-size: .8rem; letter-spacing: .14em; }
.v6 .v6-matters-page .v6-matters-group-label::after { content: ''; position: absolute; left: 0; bottom: -1px; width: 2.5rem; height: 2px; background: var(--lake); }
/* The sidebar: each hub's groups on a thin rail, the count of matters at right; the group in view in ink and semibold
   with a lake bar on the rail, its hub label in ink (v4.js). */
.v6 .v6-matters-toc .v6-matters-toc-hub { margin: 1.5rem 0 .6rem; transition: color .25s var(--ease-out); }
.v6 .v6-matters-toc .v6-matters-toc-hub:first-child { margin-top: 0; }
.v6 .v6-matters-toc .v6-matters-toc-hub.is-current { color: var(--ink); }
.v6 .v6-matters-toc ul { gap: 0; border-left: 1px solid var(--stone); }
.v6 .v6-matters-toc li a { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-left: -1px; padding: .42rem 0 .42rem .9rem; border-left: 2px solid transparent; color: var(--slate); text-decoration: none; transition: color .2s var(--ease-out), border-color .2s var(--ease-out); }
.v6 .v6-matters-toc li a:is(:hover, :focus-visible) { color: var(--lake-text); text-decoration: none; }
.v6 .v6-matters-toc li a.is-active { color: var(--ink); font-weight: 600; border-left-color: var(--lake); }
.v6 .v6-matters-toc-count { font-size: .78rem; font-weight: 500; color: var(--smoke); font-variant-numeric: tabular-nums; }
.v6 .v6-matters-toc li a.is-active .v6-matters-toc-count { color: var(--lake-text); }
@media (prefers-reduced-motion: reduce) { .v6 .v6-matters-toc li a, .v6 .v6-matters-toc .v6-matters-toc-hub { transition: none; } }

/* Client, 2026-10-16: compact partner portraits sit beside one another on Referrals. */
.v6 .v4-people-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.v6 .v4-people-stack .v4-people-card { display: grid; align-content: start; gap: .6rem; }
.v6 .v4-people-stack .v4-people-name { font-size: 1rem; }

.v6 .v4-portraits .v4-people-card { width: 100%; }

/* Dan, 2026-10-16: larger side-by-side sidebar portraits. */
.v6 .v4-people-stack .v4-photo--small { width: 100%; aspect-ratio: 4 / 5; }

/* Dan, 2026-10-16: peer recognition heading beside a two-by-two list. */
.v6 .v4-rec-peers > .wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}
.v6 .v4-rec-peers h2 { margin: 0; }
body.v6 .v4-rec-peers .v3-marks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .v6 .v4-rec-peers > .wrap { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  body.v6 .v4-rec-peers .v3-marks { grid-template-columns: minmax(0, 1fr); }
}
