.page-body{gap:.75rem;padding-bottom:4.5rem;display:grid}.link-cards{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}@media (width>=860px){.link-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.link-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=560px){.link-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1180px){.link-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.link-card{isolation:isolate;border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:.35rem;height:100%;padding:1.1rem 1.25rem 1.2rem;transition:border-color .2s,color .25s;display:flex;position:relative;overflow:hidden}.link-card:before{content:"";z-index:-1;background:var(--primary);transform-origin:0;transition:scale .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;scale:0 1}.link-card:hover{border-color:var(--primary);color:var(--on-primary)}.link-card:hover:before{scale:1}.link-card>:first-child{padding-right:1.5rem}.link-card-label{color:var(--muted);font:500 .8125rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.5rem;transition:color .25s;display:flex}.link-card strong{font:800 1.85rem/1.1 var(--head);text-transform:uppercase;overflow-wrap:anywhere}.link-card-handle strong{font:500 clamp(.75rem, 3.9vw, 1rem)/1.4 var(--mono);text-transform:none}.link-card small{color:var(--muted);font-size:1rem;line-height:1.4;transition:color .25s}.link-card .link-card-note{color:var(--gold);font:500 .875rem/1.4 var(--mono)}.link-card:hover .link-card-label,.link-card:hover small{color:inherit}.link-card i{font:500 1.1rem/1 var(--mono);transition:translate .2s;position:absolute;top:1rem;right:1.1rem}.link-card>strong:first-child~i{top:1.5rem}.link-card:hover i{translate:3px}.about{gap:3rem}@media (width>=1024px){.about{grid-template-columns:minmax(0,42rem) minmax(20rem,1fr);align-items:start;gap:5rem}}.prose{gap:1.25rem;max-width:42rem;font-size:1.125rem;line-height:1.7;display:grid}.sub-title{font:900 clamp(2.25rem, 4vw, 3.25rem)/1 var(--head);text-transform:uppercase;margin-top:.25rem}.project-group{gap:1rem;display:grid}.project-group+.project-group{margin-top:2.5rem}.library:empty{display:none}.chips{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.chips li{border:1px solid var(--line);background:var(--panel);max-width:100%;color:var(--muted);font:500 .8125rem/1.4 var(--mono);overflow-wrap:anywhere;padding:.35rem .7rem}.cv{gap:3.5rem}@media (width>=1180px){.cv{grid-template-columns:minmax(0,52rem) minmax(20rem,1fr);align-items:start;gap:5rem}}.timeline{border-left:1px solid var(--line);gap:2.75rem;margin-top:1.5rem;padding-left:1.5rem;display:grid}.job{position:relative}.job:before{content:"";background:var(--primary);width:9px;height:9px;position:absolute;top:.3rem;left:calc(-1.5rem - 5px)}.job time{color:var(--muted);font:500 .875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;display:block}.job h3{font:800 clamp(1.6rem, 3vw, 2.1rem)/1.1 var(--head);text-transform:uppercase;margin-top:.35rem}.employer{color:var(--primary);font:500 .9375rem/1.3 var(--mono);margin-top:.25rem}.points{color:var(--muted);gap:.5rem;margin-top:1rem;padding-left:1.1rem;font-size:1rem;line-height:1.55;list-style:square;display:grid}.points li::marker{color:var(--primary)}.points b{color:var(--gold);font-weight:500}.points a{color:var(--primary);text-underline-offset:4px;text-decoration:underline}.awards{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.awards li{border:1px solid var(--gold);color:var(--gold);font:500 .8125rem/1.4 var(--mono);padding:.3rem .65rem}.skill-groups{gap:1.5rem;margin-top:1.5rem;display:grid}.skill-groups h3{color:var(--muted);font:500 .8125rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em}.skill-groups .chips{margin-top:.6rem}.lost{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.5rem;padding-bottom:4.5rem;display:grid}.lost img{border:1px solid var(--line)}@media (width>=760px){.lost{grid-template-columns:minmax(0,32rem) 302px}}@media (prefers-reduced-motion:reduce){.lost img{display:none}}@media print{.page-body{padding-bottom:0}.cv{gap:1.25rem}.timeline{gap:1rem;margin-top:.75rem}.job h3{font-size:1.3rem}.points{gap:.15rem;margin-top:.4rem;font-size:.8125rem;line-height:1.4}.points a{text-underline-offset:2px}.awards{margin-top:.4rem}.job li{break-inside:avoid}.skill-groups{gap:.6rem;margin-top:.75rem}.chips li,.awards li{padding:.1rem .4rem;font-size:.6875rem}.sub-title{font-size:1.6rem}}
