/* Lovable header and footer chrome only. */
.site-container { width: min(1120px, 100% - 48px); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--line); z-index: 10; position: relative; }
.header-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; height: 88px; }
.wordmark { color: var(--ink); white-space: nowrap; align-items: center; gap: 9px; min-width: 0; font-size: 18px; font-weight: 800; line-height: 1; display: inline-flex; }
.wordmark svg { width: 25px; height: 25px; color: var(--brand); flex-shrink: 0; }
.wordmark-brand { color: var(--brand-strong); }
.desktop-nav { display: none; }
.mobile-menu { position: static; }
.mobile-menu summary { color: var(--ink); cursor: pointer; list-style: none; width: 44px; height: 44px; padding: 10px; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary svg { display: block; width: 24px; height: 24px; }
.mobile-nav { display: grid; }
.mobile-menu .mobile-nav { background: var(--ground); border-bottom: 1px solid var(--line); padding: 0 24px 20px; position: absolute; top: 88px; left: 0; right: 0; }
.mobile-nav a { border-top: 1px solid var(--line); color: var(--ink); padding: 12px 0; font-weight: 600; text-decoration: none; }
.site-footer { border-top: 1px solid var(--line); background: var(--paper); color: var(--ink-soft); padding: 30px 0; font-size: 13px; }
.footer-row { align-items: center; gap: 18px; display: grid; }
.footer-brand { flex-wrap: wrap; align-items: center; gap: 6px; display: flex; }
.footer-row nav { flex-wrap: wrap; gap: 22px; display: flex; }
.footer-row a { color: inherit; text-decoration: none; }
.footer-row a:hover { text-decoration: underline; }
@media (min-width: 640px) { .footer-row { justify-content: space-between; gap: 20px; display: flex; } }
@media (min-width: 900px) {
  .site-container { width: min(1120px, 100% - 96px); }
  .desktop-nav { gap: 34px; font-size: 14px; font-weight: 600; display: flex; }
  .desktop-nav a { color: var(--ink); text-decoration: none; }
  .desktop-nav a:hover, .nav-active { color: var(--brand-strong); }
  .mobile-menu { display: none; }
}
