/* Website footer (site-footer.ps1), published as /assets/footer.css and used by the app page and every static page.
   Self-contained: a deep-ocean band like the app's hero, so it reads the same in light and dark mode. */
.sf{
  --sf-bg:#0c2f38; --sf-bg2:#145259; --sf-fg:#e7efe6; --sf-muted:#a9c4bf; --sf-line:rgba(235,245,238,.16); --sf-accent:#ec7a44;
  margin:32px auto 0; max-width:1440px; border-radius:20px; overflow:hidden; color:var(--sf-fg);
  background:
    radial-gradient(120% 140% at 100% 0%, var(--sf-bg2) 0%, transparent 55%),
    repeating-radial-gradient(circle at 12% 120%, transparent 0 22px, rgba(235,245,238,.05) 22px 23px),
    var(--sf-bg);
  font-family:"Instrument Sans","Segoe UI",system-ui,sans-serif; font-size:14px; line-height:1.55; text-align:left;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .sf{ --sf-bg:#07222a; --sf-bg2:#0f444b } }
:root[data-theme="dark"] .sf{ --sf-bg:#07222a; --sf-bg2:#0f444b }
.sf a{color:var(--sf-fg);text-decoration:none;text-underline-offset:3px}
.sf a:hover{text-decoration:underline;color:#fff}
.sf a:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:3px}
.sf-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sf-inner{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,1fr));gap:28px 36px;padding:36px clamp(20px,4vw,48px) 28px}
.sf-logo{display:inline-flex;align-items:center;gap:10px;font-family:"Archivo","Segoe UI",system-ui,sans-serif;font-weight:800;font-size:24px;letter-spacing:-.02em}
.sf-logo b{color:var(--sf-accent);font-weight:800}
.sf-logo:hover{text-decoration:none}
.sf-tag{margin:12px 0 6px;max-width:34ch;color:var(--sf-fg)}
.sf-note{margin:0 0 14px;color:var(--sf-muted);font-size:13px}
.sf-mail{display:inline-flex;align-items:center;gap:8px;font-weight:600;border:1px solid var(--sf-line);border-radius:999px;padding:7px 14px;background:rgba(255,255,255,.04)}
.sf-mail:hover{text-decoration:none;border-color:var(--sf-accent)}
.sf-col h3{margin:4px 0 12px;font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--sf-muted)}
.sf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sf-guides ul{grid-template-columns:1fr 1fr;column-gap:16px}
.sf-base{border-top:1px solid var(--sf-line);padding:18px clamp(20px,4vw,48px) 22px;display:grid;gap:6px;color:var(--sf-muted);font-size:12.5px}
.sf-base p{margin:0;max-width:110ch}
.sf-base a{color:var(--sf-muted);text-decoration:underline}
.sf-base a:hover{color:var(--sf-fg)}
@media (max-width:900px){ .sf-inner{grid-template-columns:1fr 1fr} .sf-brand{grid-column:1/-1} }
@media (max-width:520px){ .sf{border-radius:16px} .sf-inner{grid-template-columns:1fr;gap:24px} .sf-guides ul{grid-template-columns:1fr 1fr 1fr} }
@media (max-width:360px){ .sf-guides ul{grid-template-columns:1fr 1fr} .sf-mail{overflow-wrap:anywhere} }
.sf-linkbtn{font:inherit;color:var(--sf-fg);background:none;border:0;padding:0;cursor:pointer;text-align:left}
.sf-linkbtn:hover{text-decoration:underline;color:#fff}
/* Cookie banner (site-consent.js) */
.cc{position:fixed;z-index:9999;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;padding:16px 18px;border-radius:16px;
  background:#0c2f38;color:#e7efe6;box-shadow:0 10px 40px rgba(0,0,0,.35);font-family:"Instrument Sans","Segoe UI",system-ui,sans-serif;font-size:14px;line-height:1.5}
.cc p{margin:0 0 12px}
.cc a{color:#e7efe6;text-decoration:underline;text-underline-offset:3px}
.cc-btns{display:flex;gap:10px;justify-content:flex-end}
.cc button{font:inherit;font-weight:600;border-radius:999px;padding:8px 18px;cursor:pointer;border:1px solid rgba(235,245,238,.35);background:transparent;color:#e7efe6}
.cc button.cc-yes{background:#ec7a44;border-color:#ec7a44;color:#0c2f38}
.cc button:focus-visible{outline:2px solid #ec7a44;outline-offset:2px}
