:root{--bg:#f3f2ef;--text-main:#171717;--text-muted:#4a4a4a;--line:#d0cec8;--line-strong:#222;--font-display:"Times New Roman",Georgia,serif;--font-body:"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text-main)}body{font-family:var(--font-body);min-height:100vh;display:flex;flex-direction:column;line-height:1.45}a{color:inherit}.contentShell{width:min(980px,100% - 2.4rem);margin:0 auto}main{flex:1 1;padding:2.2rem 0 1.2rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.1rem,4vw,3rem);font-weight:500;margin:.2rem 0 1rem}.eyebrow{color:var(--text-main);font-family:var(--font-body);text-transform:uppercase;font-size:.78rem;letter-spacing:.03em}.lead{max-width:70ch;color:var(--text-muted);font-size:1.02rem}.primaryLink{display:inline-block;margin-top:1rem;text-decoration:underline;text-underline-offset:4px}.sectionTitle{font-family:var(--font-body);margin-top:2.2rem;margin-bottom:.8rem;font-size:1.1rem}.projectGrid{margin-top:.8rem;display:grid;grid-gap:.85rem;gap:.85rem}.legalCard,.projectCard{background:transparent;border:1px solid var(--line);padding:1rem 1.1rem}.projectCard h3{margin:0 0 .45rem;font-size:1.35rem;font-family:var(--font-display);font-weight:500}.projectCard p{color:var(--text-muted)}.projectLink{display:inline-block;margin-top:.45rem;text-decoration:underline;text-underline-offset:3px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem;padding-left:0}.tags li{border:1px solid var(--line);padding:.16rem .38rem;font-size:.72rem}.legalList{display:grid;grid-gap:.8rem;gap:.8rem;margin:1rem 0 1.5rem}.legalCard p{margin:0;color:var(--text-muted)}.siteFooter{border-top:1px solid var(--line);padding:.85rem 0 1rem;color:var(--text-main);font-size:.9rem;margin-top:1rem}.footerShell{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footerNav{display:flex;gap:1.1rem}.footerNav a{text-decoration:underline;text-underline-offset:3px}.siteFooter p{margin:0;color:var(--text-muted)}@media (max-width:700px){.contentShell{width:min(980px,100% - 1.5rem)}.projectCard h3{font-size:1.15rem}}