:root{--paper:#f4f2ec;--paper-2:#efece4;--ink:#17181a;--muted:#6a6d72;--faint:#797c7f;--line:#17181a1f;--line-2:#17181a38;--accent:#1f7a4d;--serif:"Instrument Serif", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--mono:"IBM Plex Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{height:100%}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}body{background:var(--paper);background-image:radial-gradient(120% 90% at 50% -10%, #faf9f4 0%, transparent 55%), radial-gradient(100% 60% at 50% 120%, var(--paper-2) 0%, transparent 60%);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;justify-content:center;margin:0;padding:clamp(40px,9vh,120px) 24px;display:flex;overflow-x:hidden}.card-bg{z-index:-2;pointer-events:none;opacity:.55;position:fixed;inset:0}.card-bg>*{display:block;width:100%!important;height:100%!important}body:after{content:"";z-index:-1;pointer-events:none;opacity:.1;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:fixed;inset:0}.card{width:100%;max-width:640px}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;display:flex}.kicker{font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:.72rem;display:flex}.kicker i{color:var(--faint);margin:0 2px;font-style:normal}.kicker .dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.site{font-family:var(--mono);letter-spacing:.5px;color:var(--faint);white-space:nowrap;font-size:.72rem}.name{font-family:var(--serif);letter-spacing:-.5px;color:var(--ink);margin:48px 0 0;font-size:clamp(2.6rem,10vw,5.6rem);font-weight:400;line-height:1}.name .dot-accent{color:var(--accent)}.role{letter-spacing:.2px;color:var(--muted);margin:14px 0 0;font-size:clamp(.95rem,2.4vw,1.1rem);font-weight:500}.contact{width:fit-content;min-height:44px;font-family:var(--mono);letter-spacing:.3px;color:var(--ink);border:1px solid var(--line-2);background:#1f7a4d0d;border-radius:9px;align-items:center;gap:9px;margin:40px 0 0;padding:10px 16px;font-size:.82rem;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.contact svg{color:var(--accent);opacity:.9;flex:none}.contact .at{color:var(--muted)}.contact .ext{color:var(--faint);margin-left:1px;font-size:.9em}.contact:hover{border-color:var(--accent);background:#1f7a4d1a;box-shadow:0 1px #1f7a4d14}.contact:hover .at,.contact:hover .ext{color:var(--accent)}.thesis{font-family:var(--serif);letter-spacing:.1px;color:var(--ink);max-width:28ch;margin:40px 0 0;font-size:clamp(1.4rem,4vw,2rem);font-style:italic;font-weight:400;line-height:1.3}.stack{font-family:var(--mono);color:var(--muted);max-width:60ch;margin:26px 0 0;font-size:.82rem;line-height:1.6}.about{color:#3d4045;max-width:58ch;margin:22px 0 0;font-size:1rem;line-height:1.7}.focus{margin-top:56px}.focus-label{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--faint);margin:0 0 4px;font-size:.7rem}.focus-list{grid-template-columns:1fr 1fr;column-gap:40px;margin:0;padding:0;list-style:none;display:grid}.focus-list li{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:16px 2px;display:flex}.focus-list .ic{color:var(--accent);opacity:.85;flex:none}.focus-list .txt{color:var(--ink);letter-spacing:.1px;font-size:1.02rem;font-weight:500}.footer-links{align-items:center;gap:22px;display:flex}.footer-links a{color:var(--muted);border:0;align-items:center;gap:6px;margin:-15px -4px;padding:15px 4px;text-decoration:none;transition:color .15s;display:inline-flex}.footer-links a:hover{color:var(--accent);border:0}.footer-links svg{opacity:.8}.card-footer{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.3px;color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:48px;padding-top:22px;font-size:.74rem;display:flex}.card-footer a{color:var(--muted);border-bottom:1px solid var(--line-2);padding-bottom:1px;text-decoration:none;transition:color .15s,border-color .15s}.card-footer a:hover{color:var(--accent);border-color:var(--accent)}@media (width<=540px){.focus-list{grid-template-columns:1fr;column-gap:0}.card-head{flex-wrap:wrap}}
