@import url("https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--paper:#FFFFFF;--ink:#23201B;--muted:#736C5E;--rule:#E4E0D7;--shadow:rgba(50,40,20,.20);--card-surface:#FFFFFF;--display:"Cormorant SC","Cormorant Garamond",Garamond,"Times New Roman",serif;--body:"Cormorant Garamond",Garamond,"Times New Roman",serif;--mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#161512;--ink:#E9E3D5;--muted:#9A9384;--rule:#34312A;--shadow:rgba(0,0,0,.6);--card-surface:#22211D;color-scheme:dark}}:root[data-theme=dark]{--paper:#161512;--ink:#E9E3D5;--muted:#9A9384;--rule:#34312A;--shadow:rgba(0,0,0,.6);--card-surface:#22211D;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.5;padding-inline:20px;padding-block:0 64px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .2s}a:focus-visible,a:hover{border-color:var(--ink)}a:focus-visible,button:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.wrap{max-width:720px;margin:0 auto}.stage{display:grid;justify-items:center;text-align:center;padding-block:72px 44px}.portrait{width:132px;height:132px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1px solid var(--rule);padding:4px;background:var(--card-surface)}.name{font-family:var(--body);font-weight:300;font-size:clamp(30px,7vw,46px);letter-spacing:.26em;padding-left:.26em;text-transform:uppercase;line-height:1.1;margin:28px 0 0;text-wrap:balance;cursor:default;transition:letter-spacing 1.4s cubic-bezier(.2,.7,.2,1),padding-left 1.4s cubic-bezier(.2,.7,.2,1)}.name:hover{letter-spacing:.19em;padding-left:.19em}@media (prefers-reduced-motion:reduce){.name{transition:none}}.hair{width:min(240px,60%);height:1px;background:var(--ink);opacity:.8;margin:22px 0 16px}.school{font-size:21px;letter-spacing:.02em}.degree{font-size:15px;letter-spacing:.15em;color:var(--muted);margin-top:4px}.lede{max-width:34em;margin:22px 0 0;font-size:19px}.lede span{color:var(--muted);font-style:italic}.links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;margin-top:30px;font-family:var(--display);font-size:15px;letter-spacing:.18em}section{border-top:1px solid var(--rule);padding-block:36px}h2{font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:.3em;color:var(--muted);margin:0 0 22px}.row{display:grid;grid-template-columns:132px 1fr;gap:20px;padding-block:10px}.row+.row{border-top:1px dotted var(--rule)}.when{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:5px;font-variant-numeric:tabular-nums}.what{min-width:0}.what h3{font-family:var(--body);font-weight:500;font-size:21px;margin:0;line-height:1.3}.what h3 .at{font-style:italic;font-weight:400;color:var(--muted)}.what p{margin:2px 0 0}.num{font-size:.8em;letter-spacing:-.01em}.num,.tags{font-family:var(--mono)}.tags{font-size:11.5px;color:var(--muted);margin-top:4px}.what p+p{margin-top:8px}.open{display:inline-block;margin-top:12px;font-family:var(--display);font-size:13px;letter-spacing:.2em;padding:7px 14px;border:1px solid var(--rule);transition:border-color .2s,background-color .2s}.open:focus-visible,.open:hover{border-color:var(--ink);background:var(--card-surface)}.skills{display:grid;grid-template-columns:132px 1fr;gap:8px 20px;font-size:18px}.skills dt{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:4px}.skills dd{margin:0;min-width:0}.contact{text-align:center}.email{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:14px}.email button{font-family:var(--display);font-size:12px;letter-spacing:.2em;background:none;color:var(--ink);border:1px solid var(--rule);padding:6px 12px;cursor:pointer}.email button:hover{border-color:var(--ink)}footer{text-align:center;font-family:var(--mono);font-size:11px;color:var(--muted);padding-top:24px}canvas.gnn-bg{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.65}.wrap{position:relative;z-index:1}.prints{display:grid;grid-template-columns:3fr 4fr;gap:28px;align-items:start}.print{margin:0;min-width:0;display:grid;gap:12px}.mat{padding:10px;cursor:zoom-in;background:var(--card-surface);border:1px solid var(--rule);box-shadow:0 14px 30px -18px var(--shadow)}.mat,.mat img{display:block;width:100%}.mat img{height:auto}.print figcaption{display:grid;gap:2px}.print strong{font-weight:500;font-size:19px;line-height:1.3}.print span{font-size:16px;color:var(--muted);font-style:italic}.print .venue{font-family:var(--mono);font-style:normal;font-size:11.5px;letter-spacing:.02em}dialog#viewer{width:min(1100px,94vw);max-height:92vh;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto}dialog#viewer::backdrop{background:rgba(10,9,7,.78)}.viewer-bar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--rule);font-family:var(--display);letter-spacing:.14em;font-size:13px}.viewer-bar button{font-family:var(--display);font-size:12px;letter-spacing:.2em;background:none;color:var(--ink);border:1px solid var(--rule);padding:6px 12px;cursor:pointer}#viewer-img{display:block;width:100%;height:auto}@media (max-width:560px){.prints{grid-template-columns:1fr}body{font-size:18px}.stage{padding-block:40px 36px}.portrait{width:112px;height:112px}.lede{font-size:18px}.row,.skills{grid-template-columns:1fr;gap:2px}.skills dd{margin-bottom:10px}}body,html{background:var(--paper)!important}.wrap,body,html{color:var(--ink)}.wrap{font-family:var(--body)}