/* Public page navigation and footer only; account and Studio layouts are separate. */
@media (prefers-reduced-motion: no-preference) {
  html:has(> body.site-page) { scroll-behavior:smooth; }
}
.site-page main [id] { scroll-margin-top:24px; }
.site-page > .site-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px 28px; padding:clamp(24px,3vw,44px); }
.site-page .footer-top { grid-column:1 / -1; display:grid; grid-template-columns:minmax(160px,.8fr) minmax(0,3fr); align-items:start; gap:clamp(24px,4vw,64px); padding-bottom:26px; border-bottom:1px solid #ffffff24; }
.site-page .footer-brand { display:grid; align-content:start; justify-content:start; gap:12px; margin:0; }
.site-page .footer-brand p { font-size:13px; }
.site-page .footer-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.site-page .footer-links > div { gap:0; }
.site-page .footer-links strong { margin-bottom:10px; font-size:13px; color:var(--paper); }
.site-page .footer-links a { font-size:13px; line-height:1.5; padding-block:8px; }
.site-page .footer-bottom { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:6px 24px; min-width:0; }
.site-page .footer-bottom small { flex:0 0 auto; color:#d9d7ce; font-size:12px; }
.site-page .footer-legal { display:flex; flex-wrap:wrap; gap:0 18px; }
.site-page .footer-legal a { display:inline-flex; align-items:center; min-height:36px; font-size:12px; color:#eae7df; text-decoration:none; }
.site-page .footer-legal a:hover { color:white; text-decoration:underline; }
.site-page .site-footer > .lumera-analytics-preferences { align-self:center; justify-self:start; margin:0 64px 0 0; padding:8px 0; min-height:36px; font-size:12px; }
.site-page .site-footer a:focus-visible,.site-page .site-footer button:focus-visible { outline:2px solid #f0c7ad; outline-offset:4px; }
@media (max-width:1023px) {
  .site-page .footer-top { grid-template-columns:1fr; gap:24px; }
  .site-page .footer-brand { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
  .site-page .footer-bottom { grid-column:1 / -1; }
  .site-page .site-footer > .lumera-analytics-preferences { grid-column:1 / -1; justify-self:start; margin-right:0; }
}
@media (max-width:650px) {
  .site-page > .site-footer { padding:24px 20px; gap:12px; }
  .site-page .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
  .site-page .footer-links a,.site-page .footer-legal a { min-height:44px; }
  .site-page .site-footer > .lumera-analytics-preferences { min-height:44px; }
}
