/* Page frame: container, header, footer */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
@media (min-width: 768px) { :root { --gutter: 24px; } }

.site-header { border-bottom: 1px solid var(--c-border); background: rgba(15, 23, 42, .85); backdrop-filter: saturate(140%) blur(8px); position: sticky; top: 0; z-index: 20; }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: var(--s-4); }
.site-logo { display: inline-flex; color: var(--c-text-strong); text-decoration: none; }
.site-header .site-logo svg { height: 34px; width: auto; }
.site-header .custom-logo { max-height: 40px; width: auto; }

.site-nav ul { display: flex; gap: var(--s-5); list-style: none; margin: 0; padding: 0; }
.site-nav a { color: var(--c-muted); text-decoration: none; font-weight: 500; font-size: var(--fs-sm); }
.site-nav a:hover, .site-nav .current-menu-item a { color: var(--c-text-strong); }

.site-main { min-height: 60vh; }

.site-footer { border-top: 1px solid var(--c-border); margin-top: var(--s-8); padding: var(--s-7) 0 var(--s-6); color: var(--c-muted); font-size: var(--fs-sm); }
.site-footer__inner { display: grid; gap: var(--s-5); }
@media (min-width: 768px) { .site-footer__inner { grid-template-columns: 1fr auto; align-items: start; } }
.site-footer__brand { display: flex; gap: var(--s-4); align-items: flex-start; }
.site-footer__brand svg { width: 36px; height: 36px; flex: none; }
.site-footer__brand p { margin: 0; }
.footer-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); }
.footer-links a, .footer-links .link-button { color: var(--c-muted); text-decoration: none; }
.footer-links a:hover, .footer-links .link-button:hover { color: var(--c-text-strong); text-decoration: underline; }
.site-footer__fine { grid-column: 1 / -1; margin: 0; padding-top: var(--s-5); border-top: 1px solid var(--c-border); color: var(--c-faint); font-size: var(--fs-xs); }

.page { padding-block: var(--s-7); }
