/* Shared site type + chrome polish, loaded after each page's inline <style> so it
   cascades over the older system-ui without !important. Self-hosted fonts stay
   inside the font-src 'self' CSP. */
@font-face{font-family:'Bricolage';src:url('/fonts/bricolage-grotesque-latin-800-normal.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Bricolage';src:url('/fonts/bricolage-grotesque-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Hanken';src:url('/fonts/hanken-grotesk-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Hanken';src:url('/fonts/hanken-grotesk-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Hanken';src:url('/fonts/hanken-grotesk-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}

:root{ --font-display:'Bricolage','Segoe UI',system-ui,sans-serif;
       --font-body:'Hanken','Segoe UI',system-ui,sans-serif; }

body{ font-family:var(--font-body); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3,h4{ font-family:var(--font-display); }
h1{ letter-spacing:-.02em; }
h2{ letter-spacing:-.015em; }
.topbar .brand,.brand{ font-family:var(--font-display); letter-spacing:-.01em; }

/* Consistent, tactile buttons everywhere (augments each page's colours). */
.btn{ transition:transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease; }
.btn.solid:hover{ transform:translateY(-1px); box-shadow:0 8px 24px rgba(13,148,136,.34); }
.topbar nav a{ transition:color .15s ease; }
