
.text-link { color: var(--signal); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.seo-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.seo-card { display: block; min-height: 240px; padding: 28px; border: 1px solid var(--line); background: var(--paper-3); text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.seo-card:hover { transform: translateY(-3px); border-color: var(--signal); }
.seo-card span { color: var(--signal); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.seo-card h3 { margin: 42px 0 12px; font: 500 29px/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.seo-card p { color: var(--muted); }
.seo-more { margin: 28px 0 0; }
.page-hero { padding: clamp(62px, 8vw, 105px) 0 72px; border-bottom: 1px solid var(--line); }
.page-hero .wrap { max-width: 1050px; }
.page-hero h1 { max-width: 1000px; font-size: clamp(48px, 6.4vw, 82px); }
.page-hero .lead { max-width: 780px; color: var(--muted); font-size: clamp(18px, 1.8vw, 22px); }
.breadcrumbs { margin-bottom: 30px; color: var(--muted); font-size: 13px; }
.breadcrumbs a { text-underline-offset: 3px; }
.content-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(220px, 320px); gap: clamp(50px, 8vw, 110px); align-items: start; }
.prose h2 { margin: 64px 0 20px; font: 500 clamp(34px, 4vw, 50px)/1.04 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin: 34px 0 12px; font: 500 27px/1.15 Georgia, "Times New Roman", serif; }
.prose p, .prose li { font-size: 17px; }
.prose p { margin-bottom: 20px; }
.prose ul, .prose ol { padding-left: 22px; margin: 0 0 24px; }
.prose li { margin-bottom: 10px; }
.prose .callout { margin: 36px 0; padding: 25px 28px; border-left: 4px solid var(--signal); background: var(--paper-3); }
.prose .callout p:last-child { margin-bottom: 0; }
.side-card { position: sticky; top: 105px; padding: 26px; border-top: 3px solid var(--ink); background: var(--paper-3); }
.side-card h2 { font: 500 28px/1.08 Georgia, "Times New Roman", serif; }
.side-card ul { padding-left: 18px; }
.side-card li { margin-bottom: 8px; }
.side-card .button { width: 100%; margin-top: 12px; }
.related { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 32px; }
.related a { padding: 22px; border: 1px solid var(--line); background: var(--paper-3); text-decoration: none; }
.related a:hover { border-color: var(--signal); }
.article-meta { margin-top: -8px; color: var(--muted); font-size: 13px; }
.simple-footer { padding: 34px 0; border-top: 1px solid var(--line); }
@media (max-width: 900px) {
  .seo-grid { grid-template-columns: 1fr 1fr; }
  .content-layout { grid-template-columns: 1fr; }
  .side-card { position: static; }
}
@media (max-width: 620px) {
  .seo-grid, .related { grid-template-columns: 1fr; }
  .seo-card { min-height: 0; }
  .seo-card h3 { margin-top: 26px; }
}
