/* Common chrome and the non-home WordPress template baseline. */
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--color-line); background: var(--color-background); }
.header-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 1.5rem; min-height: 5.5rem; }
.site-brand { flex-shrink: 0; font-size: 1.6rem; line-height: 1; font-weight: 650; letter-spacing: .1em; text-decoration: none; }
.brand-dot { color: var(--color-accent); }
.menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 2.75rem; min-width: 5rem; padding: .5rem 0 .5rem .5rem; border: 0; background: transparent; font-size: .8rem; }
.menu-icon { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 23px; }
.menu-icon span { height: 1px; width: 23px; background: currentColor; transition: transform .2s; }
.menu-toggle[aria-expanded='true'] .menu-icon span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded='true'] .menu-icon span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.site-navigation { width: 100%; padding-block: 1rem 1.5rem; max-height: calc(100dvh - 8rem); overflow-y: auto; }
.primary-menu { display: flex; flex-direction: column; list-style: none; margin: 0 0 1rem; padding: 0; }
.primary-menu a { display: block; padding: .8rem 0; font-size: 1rem; text-decoration: none; }
.primary-menu a:hover { color: var(--color-accent); }
.site-footer { padding-block: 4rem 1.5rem; border-top: 1px solid var(--color-line); }
.footer-top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.footer-description { margin: 1.25rem 0 0; color: var(--color-muted); font-size: .85rem; }
.footer-navigation ul { display: flex; flex-wrap: wrap; gap: .25rem 1.75rem; list-style: none; padding: 0; margin-block: 2.25rem; }
.footer-navigation a { display: inline-block; padding-block: .6rem; font-size: .8rem; text-decoration: none; }
.footer-navigation a:hover { color: var(--color-accent); }
.footer-bottom { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; padding-top: 1.5rem; border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: .7rem; }
.footer-bottom p { margin: 0; }
.footer-signature { margin-left: auto; letter-spacing: .12em; }
.content-main { min-height: 65vh; padding-block: clamp(3rem, 7vw, 6rem); }
.content-main article { max-width: 52rem; margin: 0 auto 3rem; }
.content-main > h1, .content-main > p { max-width: 52rem; margin-inline: auto; }
.entry-content > * { max-width: 100%; }
.entry-content a { color: var(--color-accent); }
.entry-content figure { margin-inline: 0; }
.entry-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.entry-content td, .entry-content th { padding: .7rem; border: 1px solid var(--color-line); }
.entry-content input, .entry-content textarea, .entry-content select { max-width: 100%; border: 1px solid var(--color-control); color: var(--color-text); background: var(--color-surface); padding: .7rem; }
.pagination, .post-navigation { padding-block: 1.5rem; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) {
    .admin-bar .site-header { top: 0; }
    .header-inner { min-height: 4.5rem; }
    .site-brand { font-size: 1.4rem; }
    .footer-signature { width: 100%; margin: .25rem 0 0; }
}
@media (min-width: 75rem) {
    .header-inner { flex-wrap: nowrap; min-height: 6rem; }
    .site-navigation { display: flex; align-items: center; justify-content: flex-end; width: auto; max-height: none; overflow: visible; padding-block: 0; gap: 2.5rem; }
    .primary-menu { flex-direction: row; align-items: center; gap: clamp(1.2rem, 2vw, 2.1rem); margin: 0; }
    .primary-menu a { padding-block: 1.5rem; font-size: .85rem; white-space: nowrap; }
}
