/* Alma Labs – shared footer styles for pages that do not load main.css (legal, accessibility, contact).
   Mirrors the .foot rules in /alma-labs/css/main.css so the footer looks identical everywhere. */
.foot { --navy: #0E1A36; --navy-2: #1A2A4F; --navy-ink: #F4F3EC; --navy-muted: #9FB0CC; --gut: clamp(16px, 4.5vw, 64px); --f-m: "Geist Mono", ui-monospace, Menlo, monospace; --ease: cubic-bezier(.2, .7, .2, 1); --t-quick: 150ms;
  background: var(--navy); color: var(--navy-muted); padding: 28px var(--gut) 44px; display: flex; flex-wrap: wrap; gap: 14px 36px; align-items: baseline; font-size: 14px; font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.foot a { color: inherit; text-decoration: none; transition: color var(--t-quick) var(--ease); }
.foot a:hover { color: var(--navy-ink); }
.foot nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.foot .copy { margin-left: auto; font: 400 12px var(--f-m); }
.foot .logo-img { display: block; flex: none; --logo-h: 20px; align-self: center; }
.foot .logo-img img { display: block; height: var(--logo-h); width: auto; }
@media (max-width: 900px) { .foot .copy { margin-left: 0; } }
body.alma-legal .foot { margin-top: 48px; }

/* "Legal & privacy" button + popover menu (opens upward, the footer is at the bottom of the page) */
.foot nav { align-items: center; }
.foot-legal { position: relative; display: inline-block; }
.foot-legal-btn { appearance: none; background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: color var(--t-quick) var(--ease); }
.foot-legal-btn:hover, .foot-legal-btn[aria-expanded="true"] { color: var(--navy-ink); }
.foot-legal-btn svg { transition: transform 200ms var(--ease); }
.foot-legal-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.foot-legal-menu { position: absolute; left: 0; bottom: calc(100% + 10px); min-width: 220px; background: #fff; color: #121417; border: 1px solid #DADAD3; border-radius: 12px; padding: 8px; box-shadow: 0 12px 40px rgba(14, 26, 54, .22); display: grid; z-index: 40; }
.foot-legal-menu[hidden] { display: none; }
.foot-legal-menu a { display: block; padding: 9px 12px; border-radius: 8px; color: #121417; font-size: 14px; font-weight: 500; }
.foot-legal-menu a:hover, .foot-legal-menu a:focus-visible { background: #F2F0EC; color: #0E1A36; }
@media (max-width: 600px) { .foot-legal-menu { left: auto; right: 0; } }