:root{color-scheme:light;--ink:#101010;--muted:#5f6368;--line:#dcdcdc;--paper:#fff;--soft:#f5f5f3;--dark:#111;--dark-muted:#cfcfcf;--max:1120px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;line-height:1.6}a{color:inherit}.site-header{z-index:10;backdrop-filter:blur(16px);background:#ffffffd6;border-bottom:1px solid #10101014;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem clamp(1rem,4vw,3rem);display:flex;position:fixed;top:0;left:0;right:0}.wordmark,.site-header nav a,.eyebrow,.section-kicker,.card-label,.button{letter-spacing:.16em;text-transform:uppercase;font-family:Roboto Condensed,Arial Narrow,Arial,sans-serif}.wordmark{font-size:1rem;font-weight:700;text-decoration:none}.site-header nav{gap:clamp(.7rem,2.2vw,1.7rem);display:flex}.site-header nav a{color:#252525;font-size:.68rem;text-decoration:none}.site-header nav a:hover{color:#777}.hero{text-align:center;background:linear-gradient(#ffffffc2,#ffffffe6),url(/section-1.svg) 50%/cover no-repeat,radial-gradient(circle at 50% 35%,#fff 0,#ececea 55%,#ddd 100%);place-items:center;min-height:100svh;padding:8rem 1.25rem 5rem;display:grid;position:relative;overflow:hidden}.hero>:not(.network){z-index:2;max-width:880px;position:relative}.eyebrow,.section-kicker,.card-label{color:var(--muted);margin:0 0 1.15rem;font-size:.72rem;font-weight:700}.hero h1,.module h2,.contact-band h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.08}.hero h1{letter-spacing:-.07em;max-width:980px;font-size:clamp(3rem,8.8vw,7.6rem)}.lede{color:#333;max-width:720px;margin:1.5rem auto 0;font-size:clamp(1.05rem,1.8vw,1.35rem)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:2.2rem;display:flex}.button{border:1px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;min-height:2.9rem;padding:.85rem 1.2rem;font-size:.7rem;font-weight:700;text-decoration:none;transition:transform .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{color:#fff;background:var(--ink)}.button-light{background:#ffffffa3}.button-inverse{color:var(--dark);background:#fff;border-color:#fff}.network{opacity:.72;pointer-events:none;position:absolute;inset:0}.node,.line{display:block;position:absolute}.node{background:#fff;border:1px solid #111;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 12px #11111109}.node-a{top:32%;left:15%}.node-b{top:58%;left:32%}.node-c{top:38%;right:30%}.node-d{bottom:26%;right:13%}.line{transform-origin:0;background:#11111138;height:1px}.line-ab{width:28%;top:33%;left:15%;transform:rotate(53deg)}.line-bc{width:39%;top:58%;left:33%;transform:rotate(-26deg)}.line-cd{width:28%;top:39%;right:13%;transform:rotate(61deg)}.module{width:min(var(--max),calc(100% - 2rem));border-bottom:1px solid var(--line);margin:0 auto;padding:clamp(5rem,9vw,8rem) 0}.intro{text-align:center;max-width:880px}.module h2,.contact-band h2{letter-spacing:-.045em;font-size:clamp(2rem,5vw,4.3rem)}.module p{color:var(--muted);font-size:1.02rem}.section-heading{max-width:850px;margin-bottom:3rem}.section-heading>p:last-child{max-width:700px}.compact-heading{margin-bottom:2rem}.card-grid{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card{background:var(--paper);flex-direction:column;min-height:390px;padding:2rem;display:flex}.work-card h3,.expertise-list h3,.writing-list h3{margin:0;line-height:1.25}.work-card h3{font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:400}.work-card p{margin:1rem 0 0}.work-card .role{color:var(--ink);font-weight:650}.work-card .context{font-size:.93rem}.professional-card{min-height:470px}.tag-list{flex-wrap:wrap;gap:.45rem;margin:1.5rem 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);background:var(--soft);padding:.42rem .65rem;font-size:.76rem}.text-link{margin-top:auto;padding-top:1.25rem;font-size:.9rem;font-weight:650;text-decoration:none}.text-link:hover{text-decoration:underline}.split{grid-template-columns:.85fr 1fr;align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.expertise-list article{border-bottom:1px solid var(--line);margin-bottom:1.8rem;padding:0 0 1.8rem}.expertise-list article:last-child{border-bottom:0;margin-bottom:0}.expertise-list p,.about-copy p{margin:.65rem 0 0}.writing-list{border-top:1px solid var(--line)}.writing-list>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;padding:1.6rem 0;text-decoration:none;display:flex}.writing-list h3{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:400}.writing-list p{margin:.35rem 0 0;font-size:.85rem}.writing-list span{font-size:1.3rem}.writing-list>a:hover h3{text-underline-offset:4px;text-decoration:underline 1px}.contact-band{padding:clamp(5rem,9vw,8rem) max(1.25rem,calc((100vw - var(--max))/2));color:#fff;background:var(--dark);text-align:center;margin-top:-1px}.contact-band p{max-width:680px;color:var(--dark-muted);margin:1.2rem auto 2rem}.inverse{color:#999}.footer{color:#777;background:#090909;padding:1.5rem clamp(1rem,4vw,3rem);font-size:.9rem}.footer p{margin:0}.footer a{color:#fff;text-decoration:none}@media (width<=820px){.site-header{align-items:flex-start;position:absolute}.site-header nav{flex-wrap:wrap;justify-content:flex-end;max-width:72%}.site-header nav a{font-size:.66rem}.hero{min-height:92svh}.three-columns,.two-columns,.split{grid-template-columns:1fr}.work-card,.professional-card{min-height:auto}.node-a{left:8%}.node-d{right:8%}}@media (width<=520px){.site-header{text-align:center;padding:.9rem 1rem 1rem;display:block}.wordmark{margin-bottom:.8rem;display:inline-block}.site-header nav{justify-content:center;gap:.55rem 1rem;max-width:none}.site-header nav a{letter-spacing:.11em;font-size:.68rem}.hero{padding-top:9.5rem}.module{width:min(var(--max),calc(100% - 2.5rem))}}
