.cv-page{max-width:1100px}.cv-head{padding-top:14px;padding-bottom:30px}.cv-h1{letter-spacing:-.035em;font-variation-settings:"opsz" 72, "wdth" 88, "wght" 800;margin-bottom:16px;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.92}.cv-id{flex-wrap:wrap;align-items:baseline;gap:4px 20px;font-size:19px;display:flex}.cv-id__title{font-variation-settings:"opsz" 18, "wdth" 96, "wght" 600}.cv-id__where,.cv-id__tagline{color:var(--muted)}.cv-id__tagline{margin-top:4px;font-size:17px}.cv-contact{border-top:1px solid var(--rule);flex-wrap:wrap;gap:6px 34px;margin:20px 0 0;padding:14px 0 0;font-size:14px;list-style:none;display:flex}.cv-contact__k{color:var(--muted);margin-right:8px}.cv-contact a{border-bottom:1px solid var(--rule);text-decoration:none}.cv-contact a:hover{border-bottom-color:var(--ink)}.cv-note{color:var(--muted);max-width:60ch;padding-bottom:26px;font-size:15px}.cv-section{padding-bottom:34px}.cv-h2{letter-spacing:-.02em;font-variation-settings:"opsz" 24, "wdth" 94, "wght" 600;border-bottom:2px solid var(--ink);margin-bottom:4px;padding-bottom:8px;font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.1}.cv-entry{border-bottom:1px solid var(--rule);grid-template-columns:240px 1fr;gap:0 28px;padding:16px 0 18px;display:grid}.cv-entry__meta{min-width:0;padding-top:3px}.cv-entry__body{min-width:0}.cv-when{font-variation-settings:"wght" 500;font-size:13.5px}.cv-when a{border-bottom:1px solid var(--rule);text-decoration:none}.cv-when a:hover{border-bottom-color:var(--ink)}.cv-sub{color:var(--muted);flex-direction:column;gap:2px;margin-top:4px;font-size:13px;line-height:1.35;display:flex}.cv-h3{margin-bottom:6px}.cv-h3__co{letter-spacing:-.015em;font-variation-settings:"opsz" 20, "wdth" 94, "wght" 600;font-size:20px;line-height:1.15;display:block}.cv-h3__role{color:var(--muted);font-size:15.5px;line-height:1.3;display:block}.cv-h3--domain{font-variation-settings:"opsz" 16, "wdth" 94, "wght" 600;margin-bottom:0;font-size:16px;line-height:1.2}.cv-desc{max-width:74ch;margin-bottom:8px;font-size:16px;line-height:1.4}.cv-points{max-width:78ch;margin:0 0 10px;padding:0;list-style:none}.cv-points li{border-top:1px solid var(--rule);color:var(--muted);padding:4px 0;font-size:15px;line-height:1.38}.cv-entry--skills{align-items:start}.cv-entry .tags{margin-top:2px}.cv-oss{margin:0;padding:0;list-style:none}.cv-oss li{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:5px 0;font-size:15px;line-height:1.35;display:flex}.cv-oss a{border-bottom:1px solid var(--ink);font-variation-settings:"wght" 500;text-decoration:none}.cv-oss__state{border:1px solid var(--rule);color:var(--muted);padding:4px 6px 5px;font-size:12px;line-height:1}.cv-oss__title{color:var(--muted);flex:22ch;min-width:0}.cv-out{padding:20px 0 48px;font-size:17px}.cv-out a{border-bottom:2px solid var(--rule);text-decoration:none}.cv-out a:hover{border-bottom-color:var(--ink)}@media (max-width:900px){.cv-entry{grid-template-columns:1fr;gap:8px}.cv-entry__meta{padding-top:0}.cv-sub{flex-flow:wrap;gap:2px 16px}.cv-contact{gap:8px 24px}}
.cv-print-only{display:none}@media print{@page{size:A4;margin:1.5cm}html,body{color:#000;background:#fff;font-size:8.2pt;line-height:1.24}[data-print-hidden]{display:none!important}.cv-print-only{color:#333;margin-top:6pt;font-size:7.6pt;display:block}.cv-page{max-width:none;margin:0;padding:0}.cv-page a{color:#000;border:0;text-decoration:none}.cv-page a[data-print-url]:after{content:" (" attr(data-print-url) ")";color:#333;word-break:break-all;font-size:.88em}.cv-head{border-bottom:1pt solid #000;padding:0 0 5pt}.cv-h1{margin-bottom:3pt;font-size:19pt;line-height:1}.cv-id{gap:2pt 10pt;font-size:10pt}.cv-id__tagline{margin-top:1pt;font-size:8.2pt}.cv-id__where,.cv-id__tagline,.cv-sub,.cv-points li,.cv-oss__title,.cv-h3__role,.cv-contact__k{color:#333}.cv-contact{border-top:.5pt solid #999;gap:2pt 14pt;margin:4pt 0 0;padding:4pt 0 0;font-size:7.8pt}.cv-contact__k{margin-right:4pt}.cv-section{padding-bottom:2pt}.cv-h2{border-bottom:1pt solid #000;margin:5pt 0 0;padding-bottom:1.5pt;font-size:10.5pt}.cv-entry{border-bottom:.5pt solid #ccc;grid-template-columns:33mm 1fr;gap:0 4mm;padding:2.5pt 0 3pt}.cv-entry__meta{padding-top:0}.cv-when{font-size:7.8pt}.cv-sub{flex-flow:wrap;gap:0 3mm;margin-top:.5pt;font-size:7.4pt}.cv-h3{margin-bottom:2pt}.cv-h3__co{font-size:9.6pt;line-height:1.1}.cv-h3__role,.cv-h3--domain{font-size:8.2pt}.cv-desc{max-width:none;margin-bottom:1.5pt;font-size:8.2pt}.cv-points{max-width:none;margin-bottom:2.5pt}.cv-points li{border-top:.5pt solid #ddd;padding:1pt 0;font-size:7.9pt}.cv-page .tag,.cv-page .tag--ink,.cv-page .cv-oss__state{padding:1.5pt 3pt;font-size:7.2pt;line-height:1;color:#000!important;background:0 0!important;border:.5pt solid #666!important}.cv-page .tags{gap:2pt;margin-top:1pt}.cv-oss li{break-inside:avoid;page-break-inside:avoid;border-top:.5pt solid #ddd;gap:0 4pt;padding:1pt 0;font-size:7.9pt}.cv-oss a{border-bottom:.5pt solid #000!important}.cv-head,.cv-entry,.cv-block{break-inside:avoid;page-break-inside:avoid}.cv-section--oss .cv-entry{break-inside:auto;page-break-inside:auto}.cv-page h1,.cv-page h2{break-after:avoid;page-break-after:avoid}}
