:root { --ink:#eff2ed; --muted:#a5afa9; --ground:#101714; --surface:#18231e; --line:#314038; --signal:#b7df74; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--ground); font:16px/1.6 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color:inherit; text-decoration:none; }
.skip { position:absolute; top:-4rem; left:1rem; padding:.65rem 1rem; background:var(--signal); color:#0c120f; z-index:5; } .skip:focus { top:1rem; }
.site-header, main, footer { width:min(calc(100% - 2.5rem), var(--max)); margin:auto; }
.site-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:2rem; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:.65rem; font-weight:750; letter-spacing:-.02em; }
.brand-mark, .author-mark { display:grid; place-items:center; color:#101714; background:var(--signal); font-weight:850; }
.brand-mark { width:1.65rem; height:1.65rem; font-size:.9rem; }
nav { display:flex; gap:1.25rem; color:var(--muted); font-size:.875rem; } nav a:hover, .author-links a:hover { color:var(--signal); }
.hero { padding:9rem 0 7rem; max-width:860px; }
.eyebrow, .card-type, .publication-label { margin:0 0 1rem; color:var(--signal); font-size:.75rem; letter-spacing:.15em; font-weight:750; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { line-height:1.05; letter-spacing:-.045em; } h1 { font-size:clamp(3rem, 7vw, 6.5rem); margin-bottom:1.7rem; } h2 { font-size:clamp(2rem,4vw,3.5rem); margin-bottom:1.25rem; } h3 { font-size:1.35rem; margin-bottom:.8rem; }
.lede { max-width:700px; font-size:clamp(1.15rem,2vw,1.45rem); color:var(--muted); }
.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.2rem; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1.05rem; font-size:.9rem; font-weight:700; border:1px solid var(--line); }.button-primary { color:#101714; background:var(--signal); border-color:var(--signal); }.button-secondary:hover { border-color:var(--signal); color:var(--signal); }
.featured { padding:3rem; border:1px solid var(--line); background:linear-gradient(130deg,#19251f 0%,#121b17 70%); }.featured-grid { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:end; }.featured p:not(.publication-label),.about-copy,.author p { color:var(--muted); font-size:1.1rem; max-width:720px; }.text-link { color:var(--signal); font-weight:750; white-space:nowrap; }
.section { padding:7rem 0; }.section-heading { max-width:790px; margin-bottom:2.25rem; }.section-intro { max-width:730px; color:var(--muted); font-size:1.1rem; }.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.card { min-height:245px; padding:1.5rem; border:1px solid var(--line); background:var(--surface); transition:transform .18s ease,border-color .18s ease; }.card:hover { transform:translateY(-4px); border-color:var(--signal); }.card p:last-child { color:var(--muted); font-size:1.04rem; }.card-type { font-size:.7rem; }.research-link { display:inline-block; margin-top:2rem; color:var(--signal); font-weight:750; }
.about { border-top:1px solid var(--line); }.posture { margin-top:2.5rem; display:flex; flex-wrap:wrap; gap:.65rem; }.posture span { padding:.4rem .7rem; border:1px solid var(--line); color:var(--muted); font-size:.8rem; }.author { display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:start; border-top:1px solid var(--line); }.author-mark { width:5rem; height:5rem; font-size:1.25rem; }.author-links { display:flex; gap:1.25rem; font-weight:700; }footer { display:flex; justify-content:space-between; gap:2rem; padding:2rem 0 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; } footer span:last-child { max-width:660px; text-align:right; }.not-found main { min-height:100vh; max-width:780px; padding-top:4rem; display:flex; flex-direction:column; justify-content:center; }.not-found .brand { position:absolute; top:2rem; }
@media (max-width:700px) { .site-header { min-height:auto; padding:1rem 0; align-items:flex-start; flex-direction:column; gap:.8rem; } nav { width:100%; overflow-x:auto; padding-bottom:.2rem; gap:1rem; white-space:nowrap; }.hero { padding:6rem 0 5rem; }.featured { padding:1.6rem; }.featured-grid,.cards { grid-template-columns:1fr; }.section { padding:5rem 0; }footer { flex-direction:column; gap:.8rem; }footer span:last-child { text-align:left; }.author { grid-template-columns:1fr; }.author-mark { width:3.5rem; height:3.5rem; } }
