.home-page{flex-direction:column;gap:44px;display:flex}.home-hero{justify-content:space-between;align-items:center;gap:24px;display:flex}.home-title{color:var(--text-secondary);letter-spacing:-.01em;transition:color var(--duration-med) var(--ease-out);font-size:clamp(32px,9vw,56px);font-weight:400;line-height:1}.home-hero:hover .home-title{color:var(--text-heading)}.home-avatar{object-fit:cover;border:1px solid var(--surface-border);opacity:.55;width:64px;height:64px;transition:opacity var(--duration-med) var(--ease-out);border-radius:8px}.home-hero:hover .home-avatar{opacity:.85}.home-section-title{color:var(--text-secondary);text-transform:lowercase;transition:color var(--duration-med) var(--ease-out);margin-bottom:22px;font-size:1.02em;font-weight:400}.home-section:hover .home-section-title{color:var(--text-heading)}.home-copy p{color:var(--text-secondary);transition:color var(--duration-med) var(--ease-out);margin-bottom:.9em}.home-intro:hover .home-copy p{color:var(--text-primary)}.home-copy p:first-child{color:var(--text-ghost);font-style:italic}.home-intro:hover .home-copy p:first-child{color:var(--text-secondary)}.home-copy p:last-child{margin-bottom:0}.home-copy strong{color:var(--text-primary);font-weight:500}.home-blog-link{color:var(--text-secondary);letter-spacing:.04em;font-size:12px;display:inline-block}.home-blog-link:hover{color:var(--accent)}@media (width<=560px){.home-hero{align-items:flex-end}.home-avatar{width:58px;height:58px}}.contact-list{flex-direction:column;gap:4px;display:flex}.contact-row{grid-template-columns:110px 1fr;align-items:baseline;gap:14px;padding:4px 0;display:grid}.contact-row dt{color:var(--text-ghost);letter-spacing:.06em;text-transform:lowercase;transition:color var(--duration-med) var(--ease-out);font-size:11px}.contact-row:hover dt{color:var(--text-secondary)}.contact-row dd{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.contact-row dd a,.contact-row dd span{color:var(--text-secondary);transition:color var(--duration-med) var(--ease-out);border-bottom:1px solid #0000}.contact-row:hover dd a,.contact-row:hover dd span{color:var(--text-heading)}.contact-row dd a:hover{border-bottom-color:var(--accent-dim)}.contact-row-pgp dd{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}@media (width<=560px){.contact-row{grid-template-columns:1fr;gap:2px;padding:8px 0}.contact-row dt{font-size:10px}.contact-row dd{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;overflow:visible}}
