/* Extend the existing AKG palette and typography. */
.seo-section h2 { font-size:var(--fs-500); line-height:1.12; letter-spacing:-.035em; }
.seo-split { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,6vw,7rem); align-items:start; }
.seo-prose { max-width:68ch; }
.seo-prose p + p { margin-top:1.25rem; }
.seo-split > div > p { max-width:65ch; }
.seo-split > div > .text-link { margin-top:1.5rem; }
.seo-rows { list-style:none; margin:0; padding:0; }
.seo-rows li { padding:1.5rem 0; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(8rem,.65fr) minmax(0,1.35fr); gap:1.5rem; }
.seo-rows h3 { font-size:1.15rem; letter-spacing:-.02em; }
.seo-rows p { margin:0; color:var(--ink-soft); }
.seo-links { display:flex; flex-direction:column; }
.seo-links a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 0; border-top:1px solid var(--line); text-decoration:none; font-size:clamp(1.15rem,2.2vw,1.7rem); }
.seo-links a:hover { color:var(--ink-soft); }
.seo-links a span:last-child { transition:transform .25s ease-out; }
.seo-links a:hover span:last-child { transform:translate(3px,-3px); }
.seo-projects { display:grid; gap:2rem; }
.seo-project-link { display:grid; grid-template-columns:1fr auto; gap:.8rem 1rem; border-top:1px solid var(--line); padding-top:1.5rem; text-decoration:none; }
.seo-project-link > span:first-child { font-size:1.6rem; font-weight:700; letter-spacing:-.025em; }
.seo-project-link p { grid-column:1/-1; margin:0; max-width:65ch; color:var(--ink-soft); }
.seo-inline-links { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-top:1.5rem; }
.seo-inline-links a { text-underline-offset:.25em; }
.seo-figure { margin:0; }
.seo-figure img { width:100%; height:auto; display:block; }
.seo-figure figcaption { font-size:.86rem; line-height:1.6; margin-top:.8rem; color:var(--ink-soft); }
.seo-figure figcaption a { display:block; color:var(--ink); }
.seo-sources { font-size:.86rem; line-height:1.7; color:var(--ink-soft); max-width:75ch; }
.seo-sources a { color:inherit; text-underline-offset:.2em; }
.seo-table-scroll { overflow-x:auto; max-width:100%; margin:2rem 0; }
.seo-table-scroll:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.seo-table { width:100%; border-collapse:collapse; font-size:.95rem; line-height:1.55; }
.seo-table caption { text-align:left; font-weight:700; padding:0 0 1rem; }
.seo-table th,.seo-table td { padding:1rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); min-width:10rem; }
.seo-table thead { background:var(--paper-soft); }
.seo-table tbody th { font-weight:700; }
.seo-direct-answer { font-size:1.15rem; line-height:1.6; }
.seo-guide-entry { padding-block:2rem; border-top:1px solid var(--line); }
.seo-guide-entry h2 { font-size:var(--fs-500); max-width:22ch; }
.seo-guide-entry h2 a { color:inherit; text-decoration:none; }
.seo-guide-entry p { max-width:65ch; }
.seo-guide-entry .text-link { margin-top:1rem; }
@media (max-width:760px) {
 .seo-split { grid-template-columns:1fr; gap:2rem; }
 .seo-rows li { grid-template-columns:1fr; gap:.5rem; }
 .seo-section h2 { max-width:20ch; }
 .seo-table { font-size:.86rem; }
 .seo-table th,.seo-table td { padding:.8rem; min-width:8.5rem; }
 .seo-inline-links { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
 .seo-links a span:last-child { transition:none; }
}
