/* Static, accessible editorial blocks; scoped to preserve the existing design. */
.seo-related,.seo-note,.seo-answer,.seo-reviewed{box-sizing:border-box;max-width:1120px;margin:1.5rem auto;padding:1.25rem 1.5rem;line-height:1.8;text-align:start;overflow-wrap:anywhere}
/* Keep these shared blocks independent of article and page-level typography. */
body .seo-related,body .seo-note{
    --seo-surface:var(--bg-secondary,#1e293b);
    --seo-text:var(--text-primary,#f8fafc);
    --seo-muted:var(--text-secondary,#cbd5e1);
    --seo-border:var(--border-color,#334155);
    --seo-link:#93c5fd;
    --seo-tile:var(--bg-primary,#0f172a);
    display:block;
    width:calc(100% - 3rem);
    max-width:1120px;
    min-width:0;
    margin:2rem auto;
    padding:clamp(1.25rem,3vw,2rem);
    border:1px solid var(--seo-border);
    border-radius:18px;
    background:var(--seo-surface);
    color:var(--seo-text);
    text-align:start;
    line-height:1.7;
    overflow-wrap:break-word;
}
[data-theme="light"] .seo-related,[data-theme="light"] .seo-note{
    --seo-link:#1d4ed8;
}
body .seo-note{border-inline-start:3px solid var(--primary-color,#3b82f6)}
body .seo-related h2,body .seo-note h2{
    margin:0 0 1rem;
    padding:0;
    border:0;
    color:var(--seo-text);
    font-size:clamp(1.2rem,2vw,1.5rem);
    font-weight:700;
    line-height:1.4;
    letter-spacing:normal;
    text-align:start;
}
body .seo-note p{
    max-width:85ch;
    margin:0 0 1rem;
    color:var(--seo-muted);
    font-size:1rem;
    line-height:1.8;
    text-align:start;
}
body .seo-note p:last-child{margin-bottom:0}
body .seo-note a{color:var(--seo-link);text-decoration:underline;text-underline-offset:3px}
body .seo-related ul{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.75rem;
    margin:0;
    padding:0;
    list-style:none;
}
body .seo-related li{display:flex;min-width:0;margin:0;padding:0;list-style:none}
body .seo-related li::before,body .seo-related li::after{content:none}
body .seo-related li a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    width:100%;
    min-width:0;
    min-height:64px;
    padding:.9rem 1rem;
    border:1px solid var(--seo-border);
    border-radius:10px;
    background:var(--seo-tile);
    color:var(--seo-text);
    font-size:.95rem;
    font-weight:500;
    line-height:1.5;
    text-align:start;
    text-decoration:none;
    transition:border-color .15s ease,background-color .15s ease;
}
body .seo-related li a::after{content:'→';flex-shrink:0;color:var(--seo-link);font-size:1.2rem}
body .seo-related:dir(rtl) li a::after{content:'←'}
body .seo-related li a:hover{border-color:var(--seo-link);color:var(--seo-link);opacity:1}
body .seo-related a:focus-visible,body .seo-note a:focus-visible{outline:3px solid var(--seo-link);outline-offset:4px}
@media(max-width:900px){body .seo-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
    body .seo-related,body .seo-note{width:calc(100% - 2rem);margin:1.25rem auto;padding:1.25rem}
    body .seo-related ul{grid-template-columns:minmax(0,1fr)}
    body .seo-related li a{min-height:56px}
}
@media(prefers-reduced-motion:reduce){body .seo-related li a{transition:none}}
.seo-reviewed{font-size:.85rem;padding:.25rem;margin:.5rem auto}
.seo-landing{max-width:1120px;margin:auto;padding:7rem 1.5rem 3rem;line-height:1.8}
.seo-landing h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.18;margin:1rem 0}
.seo-landing h2{font-size:1.6rem;line-height:1.4;margin:2.5rem 0 1rem}
.seo-landing p{max-width:80ch}
.seo-landing .seo-lead{font-size:1.2rem}
.seo-landing .seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.seo-landing .seo-card{border:1px solid #70809055;border-radius:16px;padding:1.5rem}
.seo-landing .seo-card h3{margin-top:0}
.seo-landing .seo-cta{display:inline-block;padding:.8rem 1.2rem;margin:.5rem .5rem .5rem 0;border-radius:9px;background:#076a58;color:#fff;text-decoration:none;font-weight:600}
.seo-landing summary{cursor:pointer;font-weight:600;padding:1rem 0}
.seo-landing details{border-bottom:1px solid #70809055}
.seo-landing a:not(.seo-cta){text-underline-offset:3px;color:#72c9ff}
[data-theme="light"] .seo-landing a:not(.seo-cta){color:#075a8c}
.seo-landing a:focus-visible{outline:3px solid #00aa86;outline-offset:4px}
@media(max-width:600px){.seo-landing{padding:6rem 1rem 2rem}}
