:root{--bg:#f7f6f3;--ink:#17181a;--muted:#6b6f76;--accent:#2b2f36;--line:#17181a1f}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;color:var(--ink);margin:0;padding:0;font-family:Helvetica Neue,Arial,Segoe UI,sans-serif;overflow:hidden}#particle-canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.content{pointer-events:none;justify-content:flex-start;align-items:flex-end;padding:6vw;display:flex;position:fixed;inset:0}.text-block{pointer-events:auto;background:#f7f6f333;border-radius:18px;max-width:640px;padding:1.6rem 1.9rem;animation:1.2s ease-out .4s both rise}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.name{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(2.2rem,6vw,4.2rem);font-weight:600;line-height:1.02}.title{color:var(--muted);letter-spacing:.01em;margin:.5rem 0 1.4rem;font-size:clamp(1rem,2vw,1.35rem);font-weight:400}.contact{flex-wrap:wrap;gap:1.1rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.contact li{padding-right:1.2rem;position:relative}.contact li:not(:last-child):after{content:"";background:var(--line);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.contact a,.contact span{color:var(--accent);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .2s,color .2s}.bio-line{color:var(--muted);font-style:italic}.linkedin-link{align-items:center;gap:.4rem;display:inline-flex}.icon-linkedin{color:var(--accent);flex-shrink:0}.contact a:hover{border-color:var(--accent)}@media (width<=640px){.content{align-items:flex-end;padding:8vw 6vw}}
