/* Shared refinements for reading, discovering and filtering content. */
.site-main :is(.page-head, .a-head) h1 { line-height: 1.45; text-wrap: balance; overflow-wrap: anywhere; }
.page-head .lead { max-width: 78ch; line-height: 1.9; }
.page-head .lead p + p { margin-top: 14px; }
.page-head .lead :is(ul, ol) { padding-inline-start: 24px; margin-top: 14px; }
.page-head .lead li + li { margin-top: 8px; }
#archive-articles { scroll-margin-top: calc(var(--head-h) + 24px); }
.site-main :is(.more, .chip, .tool-back) { min-height: 44px; }
.site-main .pager :is(a, span) { min-width: 44px; min-height: 44px; }
.site-main :is(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
/* Search has one group indicator; the submit button keeps its own keyboard focus. */
.site-main .sbox:focus-within { border-color: var(--line); outline: 2px solid var(--focus); outline-offset: 3px; box-shadow: var(--shadow); }
.site-main .sbox input:focus-visible { outline: none; box-shadow: none; }
.site-main .faqx .sbox input[type="search"] { border: 0; background: none; border-radius: 0; box-shadow: none; padding-inline: 0; }
.search-page { width: min(100%, 860px); }
.search-page .sform { max-width: none; }
.slist h2 { line-height: 1.6; }
.slist p { line-height: 1.85; }
.slist a:is(:hover, :focus-visible) { border-color: var(--ink); }
.empty-state { max-width: 860px; padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
.empty-state h2 { margin-bottom: 10px; }
.empty-state .chips { margin-top: 18px; }
body:not(.palst-tool-page) .page-prose:not(:has(.team-directory, .contact-cards)) { max-width: 860px; }
body:not(.palst-tool-page) .page-prose > :is(p, ul, ol) { max-width: 860px; }
.page-prose:has(.js-faq) { max-width: 900px !important; }
.prose .faqx-group h2 { scroll-margin-top: calc(var(--head-h) + 24px); }
.faq details { scroll-margin-top: calc(var(--head-h) + 24px); }
.contact-cards .btn { min-height: 44px; }
@media (max-width: 720px) {
 .site-main .page-head { gap: 14px; padding-bottom: 24px; }
 .site-main .a-head h1, .site-main .page-head h1 { font-size: 30px; }
 .site-main .a-head .a-lead { font-size: 17px; line-height: 1.85; }
 .site-main .a-meta { gap: 16px; }
 .site-main .a-grid { padding-top: 28px; }
 .site-main .slist a { padding: 18px; }
 .site-main .slist h2 { font-size: 18px; }
 .site-main .faqx-tools { position: static; padding-top: 0; }
 .site-main .faq { padding-inline: 16px; }
 .site-main .empty-state { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .slist a { transition: none; } }

/* Editorial cards and reading sections share the site's existing visual language. */
.archive-starter {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 24px;
 gap: 6px 16px;
 width: min(100%, 860px);
 padding: 18px 22px;
 border: 1px solid var(--line);
 border-inline-start: 4px solid var(--green);
 border-radius: 16px;
 background: var(--surface);
}
.archive-starter > span { color: var(--green); font: 600 13px/1.6 var(--display); }
.archive-starter > strong { grid-column: 1; font: 600 18px/1.65 var(--display); }
.archive-starter > .i { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--green); }
.archive-starter:is(:hover, :focus-visible) { border-color: var(--green); }
.archive .grid > .card {
 padding: 16px;
 background: var(--surface);
 border: 1px solid var(--line);
 border-radius: 20px;
 gap: 12px;
}
.archive .grid > .card .media { border-radius: 12px; background: var(--surface-2); }
.archive .grid > .card .media img { object-fit: contain; }
.archive .grid > .card .ct { line-height: 1.7; }
.archive .grid > .card .by { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 12px; flex-wrap: wrap; }
.archive .grid > .card:focus-within { border-color: var(--green); }
.single-post:not(.palst-tool-page) .a-media img { object-fit: contain; }
.single-post:not(.palst-tool-page) .js-prose > h2 {
 padding-inline-start: 14px;
 border-inline-start: 3px solid var(--green);
 line-height: 1.65;
}
.single-post:not(.palst-tool-page) .js-prose :is(.note, .note-box) {
 border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--line));
 border-inline-start: 4px solid var(--brand);
 border-radius: 16px;
}
.single-post:not(.palst-tool-page) .js-prose > blockquote {
 border: 1px solid var(--line);
 border-inline-start: 4px solid var(--brand);
 border-radius: 16px;
 padding: 22px 24px;
}
.single-post:not(.palst-tool-page) .js-prose .table-wrap { margin-block: 22px; }
.single-post:not(.palst-tool-page) .js-prose th { line-height: 1.7; }
.single-post:not(.palst-tool-page) .js-prose tr:last-child > :is(th, td) { border-bottom: 0; }
@media (min-width: 721px) {
 .single-post:not(.palst-tool-page) .js-prose tbody tr:nth-child(even) { background: color-mix(in srgb, var(--surface-2) 55%, var(--surface)); }
}
@media (max-width: 720px) {
 .archive-starter { padding: 16px; }
 .archive-starter > strong { font-size: 16px; }
 .archive .grid { gap: 14px; }
 .archive .grid > .card { grid-template-columns: 88px minmax(0, 1fr); gap: 8px 14px; padding: 14px; border-radius: 16px; }
 .archive .grid > .card .media { grid-column: 1; grid-row: 1 / 4; aspect-ratio: 1; border-radius: 10px; }
 .archive .grid > .card .meta { grid-column: 2; grid-row: 1; font-size: 11px; gap: 6px; }
 .archive .grid > .card .ct { grid-column: 2; grid-row: 2; font-size: 16px; }
 .archive .grid > .card .by { grid-column: 2; grid-row: 3; padding-top: 8px; font-size: 11px; gap: 6px; }
 .single-post:not(.palst-tool-page) .js-prose > blockquote { padding: 18px; }
}
@media (max-width: 360px) {
 .archive .grid > .card { grid-template-columns: 64px minmax(0, 1fr); gap: 8px 12px; padding: 12px; }
}
