:root{--paper:#F5F3ED;--paper-d:#E8E5DC;--ink:#1A2436;--ink-s:#3A4458;--navy:#22406D;--accent:#B85C3F;--accent-d:#965030;--muted:#7A7F8A;--line:#C3BEB0}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'Inter Tight',sans-serif;font-size:15px;line-height:1.65;min-height:100vh;display:flex;flex-direction:column;font-feature-settings:"ss01"}
a{color:inherit;text-decoration:none}
::selection{background:var(--navy);color:var(--paper)}

.demo-banner{background:var(--ink);color:var(--paper);padding:0.65rem 1rem;font-size:0.78rem;text-align:center;letter-spacing:0.05em;position:relative;z-index:10}
.demo-banner strong{color:var(--accent)}
.demo-banner a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--accent)}

.masthead{padding:1.25rem 2.5rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;position:sticky;top:0;background:var(--paper);z-index:9}
.brand{display:flex;align-items:center;gap:0.75rem}
.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--navy)}
.brand-name{font-weight:700;font-size:1.05rem;letter-spacing:-0.015em}
.brand-sub{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--muted);margin-top:2px;font-family:'IBM Plex Mono',monospace}
.masthead nav{display:flex;gap:1.75rem;font-size:0.82rem;font-weight:500;justify-self:center}
.masthead nav a{padding-bottom:2px;border-bottom:2px solid transparent;transition:all 0.2s}
.masthead nav a.active,.masthead nav a:hover{border-bottom-color:var(--navy);color:var(--navy)}
.masthead .cta{background:var(--navy);color:var(--paper);padding:0.5rem 1.1rem;font-size:0.82rem;font-weight:600;transition:background 0.2s;border-radius:2px}
.masthead .cta:hover{background:var(--ink)}

main{flex:1;position:relative;z-index:2}

footer{padding:1.75rem 2.5rem;background:var(--paper-d);border-top:1px solid var(--line);font-size:0.78rem;color:var(--muted);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem}
footer a:hover{color:var(--navy)}

@media(max-width:780px){.masthead{grid-template-columns:1fr;text-align:center;gap:0.75rem;padding:1rem 1.25rem}.brand{justify-content:center}.masthead nav{justify-content:center;flex-wrap:wrap;gap:1rem;justify-self:auto}footer{padding:1.25rem;justify-content:center;text-align:center}}
