.hero{--label-col:clamp(2rem, 5vw, 4.25rem);--label-gap:clamp(.75rem, 2vw, 1.5rem);background-color:var(--ground);border-bottom:1px solid var(--hairline);align-items:center;min-height:calc(100svh - 64px);padding:clamp(3rem,9vh,6rem) 0;display:flex}.hero-inner{width:100%}.argument{width:fit-content;max-width:100%;font-size:clamp(1.75rem, 1.05rem + 3.4vw, var(--step-5));letter-spacing:-.015em;line-height:1.15;list-style:none}.argument-line{grid-template-columns:var(--label-col) minmax(0, 1fr);column-gap:var(--label-gap);align-items:baseline;display:grid}.argument-line+.argument-line{margin-top:.2em}.argument-label{font-variant-numeric:lining-nums tabular-nums;color:var(--rule);text-align:right;font-size:max(.42em,.8rem);font-weight:600;line-height:1}.argument-text{text-wrap:balance;max-width:9.5em;font-weight:400}.argument-line--conclusion{padding-top:.45em;position:relative}.argument-line+.argument-line--conclusion{margin-top:.45em}.argument-line--conclusion:before{content:"";background-color:var(--rule);transform-origin:0;height:2px;position:absolute;top:0;left:0;right:0}.argument-line--conclusion .argument-label{font-size:.85em;font-weight:400}.argument-line--conclusion .argument-text{font-weight:600}.hero-signature{margin-top:clamp(2.5rem,7vh,4.5rem);margin-left:calc(var(--label-col) + var(--label-gap));grid-template-columns:minmax(0,34rem) auto;grid-template-areas:"name photo""role photo""summary photo""actions photo";align-items:start;column-gap:clamp(2rem,5vw,4rem);display:grid}.hero-id{display:contents}.hero-name{font-size:var(--step-2);grid-area:name;line-height:1.2}.hero-role{font-size:var(--step-0);color:var(--ink-muted);grid-area:role;margin-top:.15rem;font-style:italic}.hero-summary{max-width:44ch;font-size:var(--step-0);color:var(--ink-muted);grid-area:summary;margin-top:.75rem;line-height:1.55}.hero-actions{flex-wrap:wrap;grid-area:actions;gap:.75rem;margin-top:1.5rem;display:flex}.hero-photo{object-fit:cover;border:1px solid var(--hairline);border-radius:3px;grid-area:photo;width:144px;height:144px}@media (width<=640px){.hero{min-height:0}.hero-signature{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name photo""role photo""summary summary""actions actions";column-gap:1rem}.hero-photo{width:72px;height:72px}}@keyframes hero-line-in{0%{opacity:0;transform:translateY(.2em)}to{opacity:1;transform:none}}@keyframes hero-rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hero-fade-in{0%{opacity:0}to{opacity:1}}.argument-line--1{animation:hero-line-in .45s var(--ease-out) 50ms both}.argument-line--2{animation:hero-line-in .45s var(--ease-out) .35s both}.argument-line--conclusion:before{animation:hero-rule-draw .4s var(--ease-out) .75s both}.argument-line--conclusion>*{animation:hero-line-in .45s var(--ease-out) 1.05s both}.hero-signature{animation:.45s ease-out 1.3s both hero-fade-in}@media (prefers-reduced-motion:reduce){.argument-line--1,.argument-line--2,.argument-line--conclusion:before,.argument-line--conclusion>*,.hero-signature{animation:none}}.about-layout{row-gap:1.1rem}.about-layout .section-heading{margin-bottom:.4rem}.about-row{grid-column:1/-1;grid-template-columns:var(--margin-col) 1fr;grid-template-columns:subgrid;column-gap:2.5rem;display:grid}.about-para{max-width:var(--measure);grid-row:1}.sidenote{grid-row:1;padding-top:.3em}.sidenote cite{font-style:normal}.sidenote a{overflow-wrap:anywhere}.note-mark,.note-toggle,.sidenote-num{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--rule);font-style:normal;font-weight:700}.note-mark,.note-toggle{vertical-align:super;font-size:.7em;line-height:0}.note-mark{padding-left:.1em}.sidenote-num{margin-right:.3em;font-size:.85em}.note-toggle{display:none}@media (width<=860px){.about-row{grid-template-columns:1fr;grid-template-columns:subgrid}.about-para{grid-column:1}.sidenote{border-left:2px solid var(--rule);grid-area:2/1;max-width:52ch;margin:.75rem 0 .25rem 1rem;padding:.1em 0 .1em .9rem}}@media (width<=860px) and (scripting:enabled){.note-mark{display:none}.note-toggle{text-underline-offset:.15em;border-radius:2px;margin:0 -.2em 0 -.05em;padding:.55em .2em;text-decoration:underline 1px;display:inline}.note-toggle[aria-expanded=true]{background-color:var(--highlight);text-decoration:none}.sidenote:not(.is-open){display:none}.sidenote.is-open{animation:sidenote-in .2s var(--ease-out)}}@keyframes sidenote-in{0%{opacity:0}}.timeline{list-style:none}.timeline-entry{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;padding-bottom:2.75rem;display:grid}.timeline-entry:last-child{padding-bottom:0}.timeline-entry--feature{padding-bottom:3.75rem}.timeline-year{font-family:var(--font-serif);font-size:var(--step-1);font-variant-numeric:lining-nums tabular-nums;color:var(--ink-muted);text-align:right;grid-column:1;font-weight:400;line-height:1.15;position:relative}.timeline-year:after{--dot:9px;content:"";top:calc(.575em - var(--dot) / 2);right:calc(-1.25rem - .75px - var(--dot) / 2);width:var(--dot);height:var(--dot);background:var(--rule);border-radius:50%;position:absolute}.timeline-year--ongoing:after{background:var(--ground);border:1.5px solid var(--rule)}.timeline-year--repeat:after{content:none}.timeline-body{max-width:var(--measure)}.timeline-title{font-size:var(--step-1);line-height:1.15}.timeline-why{color:var(--ink-muted);margin-top:.35em}.timeline-desc{margin-top:.35em}.timeline-meta{font-family:var(--font-sans);font-size:var(--step--1);flex-wrap:wrap;align-items:baseline;gap:.25rem 1.5rem;margin-top:.6rem;display:flex}.timeline-tags{color:var(--ink-muted)}.timeline-link{color:var(--ink);white-space:nowrap;font-weight:600}.timeline-entry--feature .timeline-body{flex-wrap:wrap;align-items:flex-start;gap:1.25rem 2rem;max-width:none;display:flex}.timeline-entry--feature .timeline-text{max-width:var(--measure);flex:22rem}.timeline-entry--feature .timeline-title{font-size:var(--step-2)}.timeline-entry--feature .timeline-why{font-size:var(--step-1);margin-top:.4em;line-height:1.4}.timeline-entry--feature .timeline-desc{margin-top:.75em}.timeline-entry--feature .timeline-meta{margin-top:.9rem}.timeline-cover{border:1px solid var(--hairline);border-radius:2px;flex:0 15rem;width:15rem;max-width:100%;height:auto}@media (width<=860px){.timeline-year{font-size:var(--step-0);text-align:left}.timeline-year:not(.timeline-year--repeat){margin-bottom:.4rem}.timeline-year:after{right:auto;left:calc(-1.25rem + .75px - var(--dot) / 2)}}.skills-index{columns:3;column-rule:1px solid var(--hairline);column-gap:3rem}.index-group{break-inside:avoid;padding-bottom:1.75rem}.index-letter{font-family:var(--font-serif);font-size:var(--step-3);color:var(--rule);margin-bottom:.4rem;font-weight:500;line-height:1}.index-entries{list-style:none}.index-entry{text-indent:-1.25em;padding-left:1.25em;transition:background-color .6s var(--ease-out);border-radius:2px;padding-block:.1rem;line-height:1.5}.index-entry+.index-entry{margin-top:.2rem}.index-term{color:var(--ink)}.index-cat,.index-see{color:var(--ink-muted)}.index-ref{color:var(--ink-muted);text-decoration-color:currentColor;text-decoration-thickness:1px}.index-ref:hover{color:var(--ink);text-decoration-color:var(--rule);text-decoration-thickness:1.5px}.index-entry:target{background-color:var(--highlight);box-shadow:-.35rem 0 0 var(--highlight), .35rem 0 0 var(--highlight)}@media (width<=860px){.skills-index{columns:2;column-gap:2rem}}@media (width<=520px){.skills-index{columns:1;column-rule:none}.index-group{grid-template-columns:2.25rem 1fr;align-items:start;column-gap:.75rem;padding-bottom:1.25rem;display:grid}.index-letter{font-size:var(--step-2);margin-bottom:0}}.ai-section .section-lede{margin-bottom:1rem}.ledger-caption{font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink-muted);max-width:var(--measure);margin-bottom:2rem;line-height:1.5}.ledger{--area-w:100%}.ledger-head{display:none}.ledger-rows{border-bottom:1px solid var(--hairline);list-style:none}.ledger-row{border-top:1px solid var(--hairline);grid-template-columns:1fr;grid-template-areas:"area""off""keep""detail""split";margin:0 -.75rem;padding:0 .75rem;display:grid}.ledger-area{font-size:var(--step-0);grid-area:area;padding-top:1.1rem;line-height:1.35}.ledger-toggle{text-align:left;width:100%;font-weight:600;line-height:inherit;align-items:baseline;gap:.6em;display:flex}.ledger:not(.is-enhanced) .ledger-toggle{cursor:text}.is-enhanced .ledger-toggle:before{content:"+";font-family:var(--font-sans);color:var(--ink-muted);flex:0 0 .75em;font-weight:400}.is-enhanced .ledger-row.is-open .ledger-toggle:before{content:"−"}.ledger-cell{padding:.5rem 0 0;line-height:1.5}.ledger-cell--off{grid-area:off}.ledger-cell--keep{grid-area:keep}.ledger-label{font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink-muted);display:block}.ledger-text{display:block}.ledger-tools{font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink-muted);margin-top:.3rem;display:block}.ledger-detail{max-width:var(--measure);grid-area:detail;padding-top:.9rem}.ledger-verdict{font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink-muted);margin-top:.5rem}.ledger-split{grid-area:split;height:3px;margin:1.1rem 0 1.25rem;display:flex}.ledger-split-off{flex:0 0 var(--off,50%);background:var(--ink-muted);position:relative}.ledger-split-off:after{content:"";background:var(--rule);width:2px;height:11px;position:absolute;top:-4px;right:-1px}.ledger-split-keep{background:var(--ink);flex:auto}.is-enhanced .ledger-row:not(.is-open) .ledger-split-off{flex-basis:50%}.is-enhanced .ledger-row:not(.is-open) .ledger-split-off,.is-enhanced .ledger-row:not(.is-open) .ledger-split-keep{background:var(--hairline)}.is-enhanced .ledger-row:not(.is-open) .ledger-split-off:after{opacity:.55}.is-ready .ledger-split-off{transition:flex-basis .5s var(--ease-out), background-color .3s ease}.is-ready .ledger-split-keep{transition:background-color .3s}.is-enhanced .ledger-row{cursor:pointer;transition:background-color .15s}.is-enhanced .ledger-row:hover{background-color:var(--highlight)}.ai-philosophy{margin-top:3rem}@media (width>=640px){.ledger{--area-w:clamp(9rem, 24%, 14rem)}.ledger-head,.ledger-row{grid-template-columns:var(--area-w) 1fr 1fr}.ledger-head{font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink-muted);padding-bottom:.6rem;display:grid}.ledger-head-off{grid-column:2;padding-right:1.5rem}.ledger-head-keep{border-left:1.5px solid var(--rule);grid-column:3;padding-left:1.5rem}.ledger-row{grid-template-areas:"area off keep"".detail detail"".split split"}.ledger-area{padding-right:1.5rem}.ledger-cell{padding-top:1.1rem}.ledger-cell--off{padding-right:1.5rem}.ledger-cell--keep{border-left:1.5px solid var(--rule);padding-left:1.5rem}.ledger-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.contact-therefore{font-family:var(--font-serif);font-style:normal;font-size:var(--step-4);color:var(--rule);padding-top:.05em;line-height:1}.contact-heading{max-width:22ch}.contact-lede{max-width:var(--measure);font-size:var(--step-1);color:var(--ink-muted);margin-bottom:2rem;line-height:1.45}.contact-links{flex-wrap:wrap;gap:.75rem 1rem;list-style:none;display:flex}.contact-links .brand-icon{flex-shrink:0;width:1em;height:1em}@media (width<=860px){.contact-therefore{font-size:var(--step-3);margin-bottom:.25rem}}@media (width<=420px){.contact-links{flex-direction:column;align-items:flex-start}}
