/* LexLab existing-system extension: original content, editorial rhythm, real portraits.
 * Locked Instrument typography and palette; no homepage/header/footer overrides. */
/* tastemaker · critique: ShowTell 4 · Phil 4 · Hier 4 · Spec 5 · Restr 4 · Var 3 */
body.page:not(.home) .page-title h1 { font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: 1.1; max-width: 22ch; }
body.page:not(.home) .page-title__lede { max-width: 65ch; font-size: 1.125rem; line-height: 1.6; }
body.page:not(.home) main .section-heading h2 { font-size: clamp(2.125rem, 3.6vw, 3.5rem); line-height: 1.15; max-width: 28ch; }
body.page:not(.home) main .wysiwyg { line-height: 1.7; overflow-wrap: break-word; }
body.page:not(.home) main .wysiwyg h2 { font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.2; }
body.page:not(.home) main .wysiwyg h3 { font-size: clamp(1.625rem, 2.2vw, 2rem); line-height: 1.25; }
body.page:not(.home) main .wysiwyg h4 { font: 600 1.125rem/1.5 var(--font-body); }
body.page:not(.home) main .legal-document__content h2 { font: 600 clamp(1.25rem,2vw,1.5rem)/1.4 var(--font-body); }
body.page:not(.home) main .legal-document__content h3 { font: 600 1.125rem/1.5 var(--font-body); }
body.page:not(.home) main .wysiwyg :is(h2,h3,h4) { text-wrap: balance; }
body.page:not(.home) main .wysiwyg p { max-width: 76ch; }
body.page:not(.home) main .wysiwyg li + li { margin-block-start: 10px; }
body.page:not(.home) main .wysiwyg ul,
body.page:not(.home) main .wysiwyg ol { padding-inline-start: 1.4em; }
body.page:not(.home) main .wysiwyg a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
body.page:not(.home) .text-block__body { max-width: 920px; }
body.page:not(.home) .media-text.is-simple .media-text__media { height: auto; align-self: start; }
body.page:not(.home) .media-text.is-simple .media-text__media img { height: auto; width: 100%; }
.person-card__photo { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: var(--radius); }
.person-card__bio { margin-block-start: 20px; color: var(--ink); }
.person-card:has(.person-card__photo) { padding-block-start: 0; border: 0; }
.person-card__photo + h3 { margin-block-start: 20px; }
.team-grid__people:first-child,
.team-grid__slider:first-child { margin-block-start: 0; }
.team-grid.is-compact .person-card { grid-template-columns: 120px minmax(0,1fr); column-gap: 30px; align-content: center; }
.team-grid.is-compact .person-card__photo { grid-row: 1 / span 3; width: 120px; aspect-ratio: 1; }
.team-grid.is-compact .person-card > :not(img) { grid-column: 2; }
.team-grid.is-compact .person-card h3 { margin: 0; }
.team-grid.is-compact .person-card__bio { margin-block-start: 10px; }
.team-grid.is-compact .person-card__bio p + p { margin-block-start: 10px; }
.contact-details.has-items-1 .contact-details__grid { grid-template-columns: 1fr; }
.contact-details.has-items-1 .contact-details__item { padding-block-start: 0; border: 0; }
.icon-text-columns.is-editorial { padding-block: 60px; }
.editorial-columns__grid { display: grid; gap: 40px; }
.is-editorial .section-heading + .editorial-columns__grid { margin-block-start: 40px; }
.editorial-columns__item { min-width: 0; border-block-start: 1px solid var(--line); padding-block-start: 30px; }
body.page:not(.home) .price-card { min-height: 370px; }
body.page:not(.home) .price-card h3 { flex: 1; max-width: none; font-size: clamp(1.75rem,2.7vw,2.25rem); line-height: 1.2; overflow-wrap: anywhere; }
body.page:not(.home) .price-card__price { margin-block: 30px; line-height: 1.2; }
body.page:not(.home) .price-card__price strong { font-weight: 400; }
body.page:not(.home) .price-card .btn { white-space: normal; text-align: center; }
.pricing-plans.has-plans-1 .pricing-plans__slider,
.pricing-plans.has-plans-1 .pricing-plans__note { max-width: 640px; margin-inline: auto; margin-left: 0; }
.pricing-plans.has-plans-1 .price-card { width: 100%; }
.pricing-plans.has-plans-1 .pricing-plans__progress { display: none; }
.pricing-plans__note > p:has(> a.btn[href^="tel:"]) { margin-block-start: var(--space-20); }
.comparison-table__scroller { scroll-padding-inline: 20px; }
body.page:not(.home) .comparison-table__header { display: block; max-width: 1000px; }
body.page:not(.home) .comparison-table__header > p { margin-block-start: 30px; line-height: 1.7; }
.comparison-table td { font-variant-numeric: tabular-nums; }
.comparison-table .is-included { color: var(--green); font-weight: 600; }
.comparison-table__scroller .btn { min-height: 40px; height: auto; padding: 10px 16px; }
.legal-document__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-block-start: 40px; }
@media (min-width: 768px) {
 .team-grid[class*="has-columns-"] .team-grid__people,
 .editorial-columns__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1280px) {
 .team-grid [data-team-progress] { display: none; }
 .contact-details.has-items-1 .container { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 80px; align-items: start; }
 .contact-details.has-items-1 .contact-details__grid { margin: 0; }
 .team-grid.has-columns-3 .team-grid__people { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .team-grid.has-columns-4 .team-grid__people { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .is-editorial.has-columns-3 .editorial-columns__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .is-editorial.has-columns-4 .editorial-columns__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .icon-text-columns.is-editorial { padding-block: 100px; }
 .pricing-plans.has-plans-1 .pricing-plans__grid { grid-template-columns: 1fr; }
 .pricing-plans.has-plans-2 .pricing-plans__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.page:not(.home) .team-grid.has-columns-4 .person-card h3 { font-size: 1.75rem; }
}
@media (max-width: 767px) {
 .team-grid.is-compact .person-card { grid-template-columns: minmax(0,1fr); align-content: start; }
 .team-grid.is-compact .person-card__photo { grid-row: auto; width: 80px; }
 .team-grid.is-compact .person-card > :not(img) { grid-column: 1; min-width: 0; overflow-wrap: anywhere; }
 .team-grid.is-compact .person-card__photo + :is(h3,.person-card__role) { margin-block-start: var(--space-20); }
 body.page:not(.home) .comparison-table th:first-child { min-width: 170px; max-width: 190px; }
 body.page:not(.home) .comparison-table th, body.page:not(.home) .comparison-table td { padding: 14px; }
 body.page:not(.home) .comparison-table table { min-width: 640px; }
 body.page:not(.home) .comparison-table.has-columns-2 table { min-width: 0; }
 .legal-document__actions .btn { width: 100%; height: auto; min-height: 60px; white-space: normal; text-align: center; }
}
@media (max-width: 1279px) {
 .team-grid:not(.is-compact) .person-card__photo { aspect-ratio: 1; }
}
