.project-card{height:100%;padding:var(--frame-pad);border:var(--frame) solid var(--rule);background:var(--frame-ground);flex-direction:column;gap:12px;display:flex;position:relative}.project-card:after{right:calc(var(--frame) * -1);bottom:calc(var(--frame) * -1);width:var(--tick-size);height:var(--tick-size);border-right:var(--tick-weight) solid var(--accent);border-bottom:var(--tick-weight) solid var(--accent);pointer-events:none;content:"";position:absolute}.project-card__picture{aspect-ratio:16/10;border-radius:var(--radius);object-fit:cover;object-position:top;background:var(--ground-raised);width:100%;margin-bottom:4px}.project-card__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.project-card__meta[data-stamped] .status{top:var(--stamp-top);right:var(--stamp-right);transform:translateY(var(--stamp-shift));padding:var(--stamp-pad);border-radius:var(--radius);background:var(--ground);position:absolute}.project-card__title{font-size:var(--h3-size)}.project-card__summary{color:var(--ink-dim);font-size:16px;line-height:1.55}.project-card__more{margin-top:auto;padding-top:6px}.project-card__link{min-height:32px;font-family:var(--font-mono);letter-spacing:var(--label-tracking);text-transform:var(--label-case);color:var(--accent);align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.project-card__link:after{content:"";position:absolute;inset:0}.project-card__link:focus-visible{outline:none}.project-card__link:focus-visible:after{outline:2px solid var(--accent);outline-offset:4px}.project-card:hover{border-color:var(--accent)}.project-card:hover .project-card__link{text-underline-offset:.3em;text-decoration:underline}.project-card:hover .arrow{transform:translate(4px)}.timeline__when{order:3;margin-top:4px}.timeline__title{color:var(--ink);font-weight:500;line-height:1.4}.timeline__subtitle{color:var(--ink-dim);line-height:1.45}@media (width>=700px){.timeline__when{order:0;grid-row:span 2;margin-top:0}.timeline__title,.timeline__subtitle{grid-column:2}}@media (width>=960px){.timeline .rows__row{grid-template-columns:var(--label-column) minmax(0, 1fr) minmax(0, 1.25fr)}.timeline__when{grid-row:auto}.timeline__subtitle{grid-column:3}}.intro{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:clamp(36px,7vw,72px);display:grid}.intro__head{gap:10px;display:grid}.intro__name{font-size:var(--name-size);line-height:var(--name-leading);letter-spacing:var(--name-tracking);overflow-wrap:anywhere}.intro__name:after{color:var(--accent);content:var(--name-stop)}@supports (content:"." / ""){.intro__name:after{content:var(--name-stop) / ""}}.intro__role{font-family:var(--role-font);font-size:var(--role-size);font-weight:var(--role-weight);line-height:var(--role-leading);letter-spacing:var(--role-tracking);text-transform:var(--role-case);color:var(--accent);margin-top:4px}.intro__title,.intro__employer{display:var(--role-display)}.intro__employer{color:var(--employer-ink)}.intro__employer:before{content:var(--role-slash);margin-inline:.3em}@supports (content:"." / ""){.intro__employer:before{content:var(--role-slash) / ""}}.intro__lede{text-wrap:pretty;max-width:62ch;font-size:clamp(18px,2.2vw,19px);line-height:1.6}.intro__facts{align-self:start}.intro__facts .rows__row{grid-template-columns:minmax(0,1fr);gap:6px 16px}.intro__links{flex-wrap:wrap;gap:4px 24px;display:flex}.intro__links a{align-items:center;gap:6px;min-height:32px;display:inline-flex}@media (width>=360px){.intro__facts .rows__row:not(.rows__row--tags){grid-template-columns:96px minmax(0,1fr);align-items:baseline}}@media (width>=480px){.intro__facts .rows__row--tags{grid-template-columns:96px minmax(0,1fr);align-items:baseline}}@media (width>=960px){.intro{grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:32px 64px}.intro__head{grid-column:1/-1}}.project-grid{grid-template-columns:minmax(0,1fr);gap:40px 32px;display:grid}@media (width>=700px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}}.experience__more{gap:40px;margin-top:40px;display:grid}.experience__more .subhead{margin-bottom:14px}.contact__availability{max-width:62ch;margin-bottom:24px;font-size:clamp(18px,2.2vw,20px);line-height:1.5}.contact__value{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:16px}.contact__value a{padding-block:6px;display:inline-block}
