/* ===== Shared site chrome – identical on every page ===== */
/* Base: design tokens, reset and primitives shared by every page.
   Page-specific stylesheets (styles.css / pages.css / 404.css) load AFTER
   this and only add what differs (line-height, layout, nav treatment). */
:root{--bg:#fbfcfd;--bg-soft:#f2f5f7;--ink:#0e1726;--ink-soft:#54637a;--line:#e3e9ef;--teal:#059976;--teal-deep:#047a5f;--slate:#8892bd;--blue:#425fbc;--gold:#f9b200;--radius:18px;--maxw:1180px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;font-size:14px}
.skip:focus{left:12px;top:12px}

/* Site footer */
footer{position:relative;z-index:1;border-top:1px solid var(--line);margin-top:20px}
.foot{max-width:1180px;margin:0 auto;padding:34px 28px 40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.foot .brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.foot .brand img{height:28px;width:28px}
.foot .brand .name{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:21px;color:var(--ink);line-height:1;letter-spacing:-.01em}
.foot .c{font-family:'Space Mono',monospace;font-size:12px;color:var(--ink-soft)}
.foot .c a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--ink-soft)}
.foot .c a:hover{color:var(--teal)}
