/*
 * "Meet our birth injury lawyers" (template-parts/our-lawyers.php): the /lawyers/ hub, every
 * /lawyers/{city}/ page and every /locations/{slug}/ page. Loaded by those pages only
 * (nybi_enqueue_our_lawyers_style()).
 *
 * 1. The three lawyer cards (.lh-lawyers): moved here from lawyers-hub.css on 2026-11-10, rule for
 *    rule, with the hub's private colours swapped for the tokens.css names of the same values. The
 *    hub looks exactly as before.
 * 2. The section on the city pages (.our-lawyers): the heading, the firm photo, the About link and
 *    the text rules the cards get from the hub's wrapper (.lh), which city pages do not have. From
 *    1200px it is one split (photo under the heading on the left, the cards on the right).
 *
 * House rules (CLAUDE.md): no movement on hover, no red or coral shadows, no left-border bars.
 */

/* ---------- 1. The cards (hub and city pages) ---------- */
.lh-lawyers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lh-lawyer { background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.lh-lawyer-photo { aspect-ratio: 1 / 1; background: #d5deea; overflow: hidden; }
/* The three photos share one framing (same eye line and face size, cropped to 4:5); the square
   frame shows the top of each from the same point. */
.lh-lawyer-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; display: block; }
.lh-lawyer-body { padding: 24px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.lh-lawyer-role { color: var(--blue-600); font-weight: 700; font-size: .92rem; margin-bottom: 10px !important; }
.lh-lawyer-summary { color: var(--gray-600); font-size: 1rem; }
.lh-lawyer-credits { border-top: 1px solid var(--gray-200); padding-top: 14px; margin-top: auto; display: grid; gap: 8px; }
.lh-lawyer-summary { margin-bottom: 16px !important; }
.lh-lawyer-credits li { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; line-height: 1.4; }
.lh-lawyer-credits svg { color: var(--blue-600); margin-top: 2px; }

@media (max-width: 992px) {
    .lh-lawyers { grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
    .lh-lawyer-body { padding: 18px; }
}

@media (max-width: 720px) {
    .lh-lawyers { grid-template-columns: 1fr; gap: 14px; }
    .lh-lawyer { flex-direction: row; }
    .lh-lawyer-photo { flex: 0 0 112px; aspect-ratio: 4 / 5; align-self: flex-start; border-radius: 12px; margin: 14px 0 14px 14px; }
    .lh-lawyer-body { padding: 16px; }
    .lh-lawyer-summary { font-size: .92rem; margin-bottom: 0 !important; }
    .lh-lawyer-credits { display: none; }
}

/* ---------- 2. The section on the city pages ---------- */
/* Location pages: white (the grey "What Happens Next" is above, the navy results below). Lawyer
   pages: grey, as their other alternate sections (navy results above, white laws below). */
.our-lawyers { background: #fff; }
.lawyer-layout .our-lawyers { background: var(--light-gray); }

/* Below 1200px: heading and one sentence on the left, the firm photo on the right; then the cards
   and the About link. */
.our-lawyers .our-lawyers-head {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
    margin-bottom: var(--space-7);
}
.our-lawyers .our-lawyers-head > * { min-width: 0; }
.our-lawyers .our-lawyers-intro h2 { line-height: 1.2; letter-spacing: -0.01em; text-wrap: balance; }
.our-lawyers .our-lawyers-intro p { font-size: 1.125rem; line-height: 1.65; margin: 0 0 var(--space-4); max-width: 30rem; }
.our-lawyers .our-lawyers-more {
    display: inline-flex; align-items: center; min-height: var(--tap-min);
    font-family: var(--font-primary); font-weight: 600; font-size: 1rem;
    color: var(--primary-dark); text-decoration: underline; text-underline-offset: 4px;
}
.our-lawyers .our-lawyers-more:hover, .our-lawyers .our-lawyers-more:focus { color: var(--red-700); }

.our-lawyers .our-lawyers-photo { margin: 0; }
.our-lawyers .our-lawyers-photo img {
    display: block; width: 100%; height: auto; aspect-ratio: 1600 / 887;
    object-fit: cover; object-position: 50% 25%;
    border-radius: var(--radius-lg); background: var(--gray-200);
}
.our-lawyers .our-lawyers-photo figcaption { margin-top: var(--space-3); font-size: .95rem; line-height: 1.4; color: var(--gray-600); }
/* The label on its own line above the sentence, as in the hub's hero caption. */
.our-lawyers .our-lawyers-photo figcaption strong { display: block; font-family: var(--font-primary); color: var(--gray-800); }

/* The About link under the cards, as on the hub. */
.our-lawyers .our-lawyers-foot { margin: var(--space-4) 0 0; }

/* What the cards get from .lh on the hub: text colour, heading and paragraph rhythm, no list marks. */
.our-lawyers .lh-lawyers, .our-lawyers .lh-lawyers ul { list-style: none; margin: 0; padding: 0; }
.our-lawyers .lh-lawyers { color: var(--gray-800); font-size: 18px; line-height: 1.6; }

.our-lawyers .lh-lawyer h3 { color: var(--gray-800); font-size: 1.2rem; line-height: 1.3; margin: 0 0 6px; font-weight: 700; letter-spacing: -0.015em; }
.our-lawyers .lh-lawyer p { margin: 0 0 12px; }
.our-lawyers .lh-lawyer svg { flex-shrink: 0; }
/* Room between the hairline and the first credential (the list reset above takes the card rule's). */
.our-lawyers .lh-lawyers .lh-lawyer-credits { padding-top: 12px; }

/* Small laptops: the head on the same column line as the page's other splits (.lawyer-laws). */
@media (min-width: 993px) {
    .our-lawyers .our-lawyers-head {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: clamp(32px, 6vw, 88px);
        align-items: start;
    }
}

/* Desktop: one split, as "New York Birth Injury Laws" (.lawyer-laws). Left: heading, sentence, firm
   photo. Right: the three cards in the hub's card form, then the About link. */
@media (min-width: 1200px) {
    /* 1200 to 1439px: 4fr / 8fr, so the cards keep about 230px (at 5fr / 7fr they were 200px wide at
       1200px and the text ran cramped). From 1440px: 5fr / 7fr, the Laws column line (below). */
    .our-lawyers .our-lawyers-split {
        display: grid;
        grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
        gap: clamp(32px, 6vw, 88px);
        align-items: start;
    }
    .our-lawyers .our-lawyers-split > * { min-width: 0; }
    .our-lawyers .our-lawyers-head { display: block; margin-bottom: 0; }
    .our-lawyers .our-lawyers-photo { margin-top: var(--space-6); }
    .our-lawyers .lh-lawyers { gap: 16px; }
    /* Cards this narrow get the padding the hub gives its cards below 993px. */
    .our-lawyers .lh-lawyer-body { padding: 18px; }
}

@media (min-width: 1440px) {
    .our-lawyers .our-lawyers-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}

@media (max-width: 768px) {
    .our-lawyers .our-lawyers-head { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-bottom: var(--space-6); }
    .our-lawyers .our-lawyers-intro p { font-size: 1.05rem; }
}

@media (max-width: 720px) {
    .our-lawyers .lh-lawyers { font-size: 17px; }
}
