/* Shared product/operator identity and public information pages. Colors and fonts: tokens.css (STYLE-STANDARDS.md). */
.product-identity{font:400 0.875rem/1.6 var(--font-body);color:var(--text-muted);margin:1.125rem 0;max-width:100%;overflow-wrap:anywhere}
.product-identity a,.operator-footer a{color:var(--brand);text-decoration:underline;text-underline-offset:0.1875rem}
.operator-footer{box-sizing:border-box;padding:1.5rem max(1.25rem,5vw);background:var(--surface-alt);color:var(--text-muted);font:400 0.875rem/1.7 var(--font-body);text-align:center;border-top:1px solid var(--border);width:100%}
.operator-footer p{margin:0.25rem 0}.operator-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem 1.25rem;margin-top:0.625rem}
.operator-page{margin:0;background:var(--page-bg);color:var(--text-primary);font:400 1.0625rem/1.75 var(--font-body);min-height:100vh}.operator-page header{padding:1.375rem max(1.5rem,6vw);border-bottom:1px solid var(--border)}.operator-page header a{font-family:var(--font-display);font-size:1.375rem;font-weight:750;text-decoration:none}.operator-page a{color:var(--brand)}.operator-page main{max-width:50rem;margin:0 auto;padding:3rem 1.5rem 4rem}.operator-page h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);line-height:1.15;margin:0 0 1.25rem}.operator-page h2{font-family:var(--font-display);font-size:1.4375rem;margin:2rem 0 0.625rem}.operator-page .eyebrow{font-size:0.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.operator-page .updated{color:var(--text-muted);font-size:0.875rem}
:root{--banner-h:2.5625rem}
@media (max-width:40rem){:root{--banner-h:3.75rem}}
.site-announcement{position:fixed;top:0;left:0;right:0;z-index:99999;height:var(--banner-h);display:flex;align-items:center;justify-content:center;box-sizing:border-box;overflow:hidden;background:var(--gnosis-red);color:var(--on-accent);text-align:center;padding:0 1rem;font-size:0.875rem;line-height:1.3;font-weight:500;letter-spacing:.01em;font-family:var(--font-body)}
body:has(.site-announcement){padding-top:var(--banner-h)}   /* page starts below the fixed banner */
.site-banner{background:var(--gnosis-red);color:var(--on-accent);text-align:center;padding:0.625rem 1rem;font-size:0.875rem;font-weight:500;letter-spacing:.01em;font-family:var(--font-body)}
