/* Editorial layouts only; shared brand, typography, gutters and controls. */
.seo-page{padding-block:24px 40px}
.seo-hero{padding-block:12px var(--spacing-section)}
.seo-hero h1{max-width:22ch;margin:20px 0 24px}
.seo-hero .lead{max-width:760px;color:var(--color-paper-dim)}
.seo-crumb{display:flex;flex-wrap:wrap;gap:8px;line-height:1.5}
.seo-crumb a{color:var(--color-paper-dim);text-underline-offset:4px}
.seo-byline{font-size:14px;color:var(--color-paper-faint);margin-top:24px}
.seo-columns{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,1fr);gap:64px;align-items:start;padding-bottom:var(--spacing-section)}
.seo-copy{min-width:0}
.seo-copy section{padding:32px 0;border-top:1px solid var(--color-ink-700);scroll-margin-top:104px}
.seo-copy h2,.seo-related h2,.seo-extension h2{font-size:var(--text-h2);line-height:1.15;letter-spacing:-.025em;margin:0 0 24px}
.seo-copy h3{font-size:var(--text-h3);line-height:1.2;margin:24px 0 12px}
.seo-copy p,.seo-copy li,.seo-extension p,.seo-extension li{font-size:17px;line-height:1.7;color:var(--color-paper-dim)}
.seo-copy p{margin:0 0 20px}
.seo-copy ul,.seo-copy ol{padding-left:24px;margin:16px 0 24px;list-style:revert}
.seo-copy li{margin-bottom:10px}
.seo-copy strong{color:var(--color-paper)}
.seo-copy a,.seo-extension a{color:var(--color-acid);text-underline-offset:4px}
.seo-copy blockquote,.seo-copy details{padding:24px;margin:24px 0}
.seo-copy blockquote{border-left:2px solid var(--color-acid);background:color-mix(in srgb,var(--color-acid) 4%,transparent)}
.seo-copy details{border:1px solid var(--color-ink-700);border-radius:var(--radius-card)}
.seo-copy summary{cursor:pointer;color:var(--color-paper);font-weight:600}
.seo-toc{position:sticky;top:104px;padding:24px;max-height:calc(100svh - 128px);overflow-y:auto}
.seo-toc .kicker{margin-bottom:16px}
.seo-toc ol{padding-left:0;margin:0;list-style:none}
.seo-toc li{margin:14px 0;line-height:1.5;font-size:16px}
.seo-toc a:not(.btn){color:var(--color-paper-dim);text-underline-offset:4px}
.seo-toc p:last-child{margin-top:24px}
.seo-related{padding:32px;margin:0 0 40px}
.seo-related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:16px;list-style:none;margin:24px 0}
.seo-related li{line-height:1.6}
.seo-related a:not(.btn){color:var(--color-paper);text-underline-offset:4px}
.seo-related>p{color:var(--color-paper-dim);margin-top:16px}
.seo-extension{padding-block:var(--spacing-section)}
.seo-extension>div{max-width:760px}
.seo-extension h2:not(:first-child){margin-top:32px}
.seo-extension p{margin-bottom:20px}
.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.seo-grid>a{display:block;padding:28px;text-decoration:none;font-weight:600;line-height:1.45;color:var(--color-paper)}
.seo-grid>a:hover{border-color:var(--color-acid)}
.seo-grid a span{display:block;color:var(--color-paper-dim);font-size:16px;line-height:1.6;font-weight:400;margin-top:16px}
.seo-skip{position:fixed;left:20px;top:-100px;z-index:100}
.seo-skip:focus{top:12px;background:var(--color-acid);color:var(--color-ink-900);padding:12px}
.seo-copy table{width:100%;border-collapse:collapse;font-size:16px}
.seo-copy td,.seo-copy th{border-bottom:1px solid var(--color-ink-700);padding:14px;text-align:left}
.seo-copy caption{text-align:left;line-height:1.6;margin-bottom:20px;color:var(--color-paper-dim)}
@media(max-width:900px){
 .seo-columns{grid-template-columns:1fr;gap:24px}
 .seo-toc{position:static;grid-row:1;max-height:none;width:100%}
 .seo-toc ol{columns:2}
 .seo-hero{padding-block:0 32px}
 .seo-related{padding:24px}
 .seo-grid{gap:20px}
}
@media(max-width:600px){
 .seo-page{padding-top:12px}
 .seo-copy section{padding-block:24px}
 .seo-toc ol{columns:1}
 .seo-related ul,.seo-grid{grid-template-columns:1fr}
 .seo-grid>a{padding:24px}
 .seo-copy table{display:table;table-layout:fixed}
 .seo-copy thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .seo-copy tbody,.seo-copy tr{display:block}
 .seo-copy tbody tr{border:1px solid var(--color-ink-700);border-radius:var(--radius-card);padding:20px;margin:16px 0}
 .seo-copy tbody th{display:block;padding:4px 0 12px;border:0;color:var(--color-paper)}
 .seo-copy tbody td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;border:0;padding:8px 0}
 .seo-copy tbody td:before{content:attr(data-label);color:var(--color-paper-faint);font-size:14px}
}
