.cv{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--section-gutter)}@media(max-width:1023px){.cv{padding-inline:24px}}.cv-head{position:relative;padding-top:clamp(120px,14vw,180px);padding-bottom:clamp(40px,5vw,64px)}.cv-meta{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--sans);font-size:clamp(13px,1vw,15px);letter-spacing:.01em;color:#1616169e;margin:0 0 clamp(14px,1.6vw,24px)}:root[data-theme=dark] .cv-meta{color:#ffffff9e}.cv-meta span{display:inline-flex;align-items:center;gap:8px}.cv-meta span+span:before{content:"";width:3px;height:3px;border-radius:50%;background:var(--line);display:inline-block;margin-right:4px}.cv-head .h-case{margin:0}.cv-head .lede{margin-top:32px}.cv-body{padding-block:clamp(40px,6vw,96px);display:grid;gap:clamp(40px,6vw,96px)}.cv-section{display:grid;grid-template-columns:1fr;gap:24px;max-width:1024px;margin-inline:auto;width:100%}@media(min-width:800px){.cv-section{grid-template-columns:220px 1fr;gap:clamp(32px,4vw,64px)}}.cv-section__label{font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);font-weight:400;letter-spacing:.01em;color:var(--mute);align-self:start}.cv-section__content{display:flex;flex-direction:column;gap:clamp(36px,4.5vw,56px)}.cv-role{display:flex;flex-direction:column;gap:14px}.cv-role__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px}.cv-role__title{margin:0;font-family:var(--sans);font-size:clamp(18px,1.5vw,20px);font-weight:500;letter-spacing:-.005em;line-height:1.35;color:var(--ink)}.cv-role__role,.cv-role__company{font-weight:500}.cv-role__dates{font-family:var(--sans);font-size:clamp(15px,1.2vw,17px);color:var(--mute);line-height:1.35}.cv-role__links{list-style:none;padding:0;margin:-4px 0 0;display:flex;flex-wrap:wrap;gap:4px 20px;font-family:var(--sans);font-size:clamp(14px,1.1vw,16px)}.cv-role__links li{display:inline-flex;align-items:center}.cv-role__links a{color:var(--mute);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--line);transition:color .18s ease,text-decoration-color .18s ease}.cv-role__links a:hover{color:var(--primary);text-decoration-color:var(--primary)}.cv-role__bullets{list-style:none;padding:0 0 0 20px;margin:6px 0 0;display:flex;flex-direction:column;gap:14px;border-left:1px solid var(--line)}.cv-role__bullets li{font-family:var(--sans);font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:var(--ink-2);max-width:64ch;position:relative}.cv-role__bullets li:before{content:"·";position:absolute;left:-14px;top:-2px;color:var(--mute);font-size:1.6em;line-height:1}.cv-endmatter{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,64px);max-width:1024px;margin-inline:auto;width:100%;padding-top:clamp(8px,2vw,24px);border-top:1px solid var(--line)}@media(min-width:800px){.cv-endmatter{grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,56px);padding-top:clamp(32px,4vw,48px)}}.cv-endmatter__col{display:flex;flex-direction:column;gap:20px}.cv-endmatter__label{margin:0;font-family:var(--sans);font-size:clamp(13px,1vw,15px);font-weight:400;letter-spacing:.01em;color:var(--mute);padding-bottom:14px;border-bottom:1px solid var(--line)}.cv-endmatter__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-family:var(--sans);font-size:clamp(15px,1.2vw,17px);line-height:1.5;color:var(--ink-2)}.cv-endmatter__list li{position:relative;padding-left:16px}.cv-endmatter__list li:before{content:"·";position:absolute;left:0;top:-3px;color:var(--mute);font-size:1.6em;line-height:1}.cv-endmatter__awards{display:flex;flex-direction:column;gap:18px}.cv-award{display:flex;flex-direction:column;gap:2px}.cv-award__title{margin:0;font-family:var(--sans);font-size:clamp(15px,1.2vw,17px);font-weight:500;color:var(--ink);line-height:1.4}.cv-award__meta,.cv-award__link{margin:0;font-family:var(--sans);font-size:clamp(14px,1.1vw,15px);color:var(--mute);line-height:1.5}.cv-award__link a{color:var(--mute);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--line);transition:color .18s ease,text-decoration-color .18s ease}.cv-award__link a:hover{color:var(--primary);text-decoration-color:var(--primary)}
