main:has(.profile-page){max-width:var(--w)}.profile-page{display:grid;grid-template-columns:minmax(0,44rem)minmax(180px,1fr);gap:clamp(32px,4.5vw,64px);padding-top:44px;color:var(--ink)}.profile-copy{min-width:0}.profile-intro h1{font-size:clamp(38px,4.5vw,56px);line-height:1.25;margin:0;text-wrap:balance}.profile-lead{color:var(--text-secondary);font-size:var(--text-lede);line-height:1.6;margin:18px 0}.profile-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:var(--text-small)}.profile-actions a{color:var(--accent-ink);text-decoration-line:underline;text-underline-offset:.2em}.profile-actions button{min-height:40px;padding:8px 16px;border:1px solid var(--control-border);border-radius:var(--r-sm);background:var(--control-bg);color:var(--control-ink);font-size:inherit;line-height:1.6;cursor:pointer}.profile-actions :is(a,button):hover{border-color:initial}.profile-page :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:5px}.profile-resume{margin-top:48px;scroll-margin-top:calc(var(--header-height) + 24px);font-size:var(--text-base);line-height:1.8;overflow-wrap:anywhere}.profile-resume h2{font-size:var(--text-lg);font-weight:700;line-height:1.4;padding-top:24px;margin:48px 0 20px;border-top:1px solid var(--line);text-wrap:balance}.profile-resume h2:first-child{margin-top:0;padding-top:0;border-top:0}.profile-resume h3{font-size:var(--text-md);font-weight:600;line-height:1.5;margin:32px 0 12px;text-wrap:balance}.profile-resume h2+h3{margin-top:24px}.profile-resume :is(h2,h3){scroll-margin-top:calc(var(--header-height) + 24px)}.profile-resume p{margin:12px 0;color:var(--ink);text-wrap:pretty}.profile-resume strong{font-weight:600}.profile-resume .profile-period{margin:0 0 16px;font-size:var(--text-xs);line-height:1.6;color:var(--sub);font-variant-numeric:tabular-nums}.profile-resume :not(pre)>code{font-size:var(--text-small)!important;line-height:inherit}.profile-resume :is(ul,ol){margin:16px 0;padding-inline-start:24px}.profile-resume ul{list-style:disc}.profile-resume ol{list-style:decimal}.profile-resume li{padding-inline-start:4px}.profile-resume li+li{margin-top:16px}.profile-resume li::marker{color:var(--sub)}.profile-resume a{color:var(--ink);text-decoration-line:underline;text-underline-offset:4px;text-decoration-color:var(--link-underline)}.profile-resume a:hover{text-decoration-color:initial}.profile-project-media{margin:16px 0 24px;max-width:100%}.profile-project-media video{display:block;width:100%;height:auto;max-height:30rem;border:1px solid var(--accent-border);border-radius:var(--panel-radius);background:var(--canvas-alt)}.profile-project-media figcaption{margin-top:8px;color:var(--text-secondary);font-size:var(--text-xs);line-height:1.6}.profile-social{display:flex;flex-wrap:wrap;column-gap:1.25rem;row-gap:.5rem}.profile-portrait{align-self:start;justify-self:end;width:min(100%,260px);position:sticky;top:calc(var(--header-height) + 32px)}.profile-portrait-image{aspect-ratio:1;display:grid;place-items:center}.profile-portrait img{width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(to bottom,#000 75%,transparent 100%)}.profile-signature{font-size:var(--text-small);line-height:1.6;color:var(--sub);text-align:center;margin:12px 0 0}@media(max-width:900px){.profile-page{grid-template-columns:minmax(0,1fr);padding-top:32px;gap:24px;max-width:44rem;margin-inline:auto}.profile-portrait{position:static;grid-row:1;width:128px;justify-self:start}.profile-signature{display:none}.profile-resume{margin-top:40px}}@media print{@page{margin:18mm}html,body{background:#fff!important;color:#111!important}#main-header,.theme,.header-spacer,footer,.profile-portrait,.profile-actions,body::before{display:none!important}main:has(.profile-page){padding:0!important;max-width:none!important;width:100%!important}.profile-page{display:block;padding:0;color:#111}.profile-intro h1{font-size:26pt}.profile-page :is(h1,h2,h3,strong){color:#111}.profile-resume :not(pre)>code{color:#111;background:#f5f5f5;border-color:#ddd}.profile-resume{margin-top:1.5rem;font-size:10pt;line-height:1.6}.profile-resume h2{margin-top:1.4rem;padding-top:.8rem;font-size:14pt}.profile-resume h3{margin-top:1rem;font-size:11pt}.profile-resume :is(h2,h3){break-after:avoid}.profile-page p,.profile-page a,.profile-page .profile-period{color:#333}.profile-project-media video{display:none}.profile-project-media figcaption{color:#333}}