.primary-menu { display: flex; align-items: center; gap: 30px; list-style: none; margin: 0; padding: 0; }
.primary-menu a:hover { color: var(--blue); }
.brand .brand-mark.is-custom img, .footer-brand .brand-mark.is-custom img { width: 100%; height: 100%; transform: translate(-50%, -50%); object-fit: contain; }
.skip-link { position: absolute; top: -100px; left: 16px; z-index: 999; padding: 12px 20px; color: white; background: var(--ink); }
.skip-link:focus { top: 16px; }
.editorial { max-width: 1180px; margin: 0 auto; min-height: 65vh; }
.editorial > h1, .entry > h1 { margin: 0 0 40px; font-size: clamp(28px, 4vw, 48px); line-height: 1.5; }
.editorial > p { margin-bottom: 30px; }
.post-list { display: grid; gap: 24px; grid-template-columns: repeat(2, 1fr); margin: 40px 0; }
.post-card { padding: 28px; border: 1px solid var(--line); background: white; }
.post-card img { width: 100%; height: auto; margin-bottom: 24px; }
.post-card time, .entry > time { display: block; margin-bottom: 12px; font-size: 13px; color: #607b91; }
.post-card h2 { margin: 0 0 18px; font-size: 23px; }
.post-card p { color: #526b7e; line-height: 1.9; }
.entry-hero { width: 100%; height: auto; margin: 35px 0; }
.entry-content { margin-bottom: 50px; overflow-wrap: anywhere; line-height: 1.95; }
.entry-content h2 { margin: 50px 0 22px; font-size: 28px; }
.entry-content h3 { margin: 35px 0 18px; font-size: 23px; }
.entry-content p, .entry-content ul, .entry-content ol, .entry-content figure, .entry-content blockquote { margin: 0 0 24px; }
.entry-content ul, .entry-content ol { padding-left: 1.6em; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.entry-content img { height: auto; }
.entry-content table { border-collapse: collapse; width: 100%; }
.entry-content th, .entry-content td { padding: 14px; border: 1px solid var(--line); }
.entry-content blockquote { padding: 20px 24px; border-left: 3px solid var(--teal); background: var(--mist); }
.entry-content pre { padding: 22px; overflow-x: auto; background: var(--mist); }
.nav-links, .page-links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 35px; }
.page-numbers { display: inline-block; padding: 8px 15px; border: 1px solid var(--line); }
.page-numbers.current { color: white; background: var(--navy); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1050px) { .primary-menu { display: none; } }
@media (max-width: 760px) { .post-list { grid-template-columns: 1fr; } .post-card { padding: 22px; } }
