.cv{isolation:isolate;background:var(--ground);min-height:100svh;color:var(--fg);position:relative}.cv__background{z-index:0;color:var(--fg);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.cv__decor-circle{background:repeating-linear-gradient(-35deg,currentColor 0 1px,#0000 1px 9px);border-radius:50%;position:absolute}.cv__decor-circle--top{aspect-ratio:1;opacity:.035;width:clamp(20rem,30vw,34rem);top:1rem;right:-4rem}.cv__decor-circle--bottom{aspect-ratio:1;opacity:.025;width:clamp(13rem,20vw,22rem);bottom:-3rem;left:-5rem}.cv__decor-line{opacity:.06;transform-origin:50%;background:currentColor;height:1px;position:absolute}.cv__decor-line--one{width:260px;top:13rem;left:3rem;transform:rotate(-45deg)}.cv__decor-line--two{width:280px;top:50%;right:2rem;transform:rotate(-45deg)}@media (max-width:1024px){.cv__decor-circle--top{width:clamp(16rem,26vw,26rem)}.cv__decor-circle--bottom{width:clamp(11rem,18vw,17rem)}.cv__decor-line--two{display:none}}@media (max-width:640px){.cv__decor-circle--bottom,.cv__decor-line--one{display:none}.cv__decor-circle--top{right:-7rem}}.cv__bar,.cv__sheet{z-index:1;position:relative}.cv__bar{z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--ground) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono), monospace;letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(20px,5vw,64px);font-size:11px;display:flex;position:sticky;top:0}.cv__back{color:var(--fg-dim);transition:color .3s}.cv__back:hover{color:var(--fg)}.cv__tools{align-items:center;gap:14px;display:flex}.cv__print{border:1px solid var(--line);font:inherit;color:var(--fg);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:10px 18px;transition:border-color .3s,background-color .3s;display:inline-flex}.cv__print:hover{border-color:var(--fg);background:color-mix(in srgb, var(--fg) 5%, transparent)}.cv__sheet{max-width:860px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(20px,5vw,64px) 100px}.cv__name{letter-spacing:-.04em;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:800;line-height:1}.cv__role{font-family:var(--font-mono), monospace;letter-spacing:.28em;color:var(--fg-dim);margin-top:10px;font-size:12px}.cv__meta{font-family:var(--font-mono), monospace;color:var(--fg-dim);flex-wrap:wrap;gap:6px 14px;margin-top:18px;font-size:12px;display:flex}.cv__meta a:hover{color:var(--fg)}.cv__dot:before{content:"·";color:var(--fg-dim-2)}.cv__loc{font-family:var(--font-mono), monospace;color:var(--fg-dim);margin-top:5px;font-size:12px}.cv__summary{max-width:68ch;color:var(--fg-dim);margin-top:22px;line-height:1.65}.cv__sec{border-top:1px solid var(--line);margin-top:46px;padding-top:22px}.cv__h{font-family:var(--font-mono), monospace;letter-spacing:.28em;text-transform:uppercase;color:var(--fg-dim-2);font-size:11px}.cv__entry{margin-top:24px}.cv__row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 18px;display:flex}.cv__title{font-size:1.05rem;font-weight:600}.cv__org{color:var(--fg-dim);font-weight:400}.cv__span{font-family:var(--font-mono), monospace;letter-spacing:.06em;color:var(--fg-dim-2);white-space:nowrap;flex:none;font-size:11.5px}.cv__note{color:var(--fg-dim);margin-top:4px;font-size:.9rem}.cv__stack{font-family:var(--font-mono), monospace;color:var(--fg-dim-2);margin-top:8px;font-size:11.5px;line-height:1.6}.cv__stack b{color:var(--fg-dim);font-weight:500}.cv__bullets{gap:9px;margin-top:12px;padding:0;list-style:none;display:grid}.cv__bullets li{color:var(--fg-dim);padding-left:18px;line-height:1.6;position:relative}.cv__bullets li:before{content:"";background:var(--fg-dim-2);width:6px;height:1px;position:absolute;top:.68em;left:0}.cv__skills{gap:11px;margin-top:20px;padding:0;list-style:none;display:grid}.cv__skills li{gap:2px 20px;line-height:1.55;display:grid}@media (min-width:640px){.cv__skills li{grid-template-columns:168px minmax(0,1fr)}}.cv__skills b{font-family:var(--font-mono), monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim-2);font-size:11px;font-weight:500}.cv__skills span{color:var(--fg-dim)}.cv__signoff{text-align:right;margin-top:54px}@media print{@page{margin:14mm 15mm}.cv,.cv__sheet{color:#111;background:#fff}.cv__bar,.cv__background,.cv__signoff{display:none}.cv__sheet{max-width:none;padding:0;font-size:10pt;line-height:1.32}.cv__name{letter-spacing:-.01em;font-size:17pt;font-weight:700}.cv__role{letter-spacing:.02em;color:#111;margin-top:1px;font-family:inherit;font-size:10pt;font-weight:700}.cv__meta{color:#333;gap:2px 7px;margin-top:5px;font-family:inherit;font-size:9pt}.cv__meta .cv__dot:before{content:"|";color:#999}.cv__loc{color:#333;margin-top:1px;font-family:inherit;font-size:9pt}.cv__summary{text-align:justify;color:#111;max-width:none;margin-top:8px;line-height:1.32}.cv__sec{break-inside:auto;border-top:0;margin-top:13px;padding-top:0}.cv__h{letter-spacing:0;text-transform:none;color:#111;border-bottom:1px solid #999;padding-bottom:2px;font-family:inherit;font-size:12pt;font-weight:700}.cv__entry{break-inside:avoid;margin-top:8px}.cv__title{font-size:10pt;font-weight:700}.cv__org{color:#555;font-weight:400}.cv__span{letter-spacing:0;color:#555;font-family:inherit;font-size:9.5pt}.cv__note,.cv__stack{color:#333;margin-top:1px;font-family:inherit;font-size:9.5pt;line-height:1.3}.cv__stack b{color:#111;font-weight:700}.cv__bullets{gap:1px;margin-top:3px}.cv__bullets li{text-align:justify;color:#111;padding-left:13px;line-height:1.32}.cv__bullets li:before{content:"•";color:#111;background:0 0;width:auto;height:auto;font-size:10pt;line-height:1.32;top:0}.cv__skills{gap:1px;margin-top:6px}.cv__skills li{grid-template-columns:132px minmax(0,1fr);gap:0 10px;padding-left:13px;line-height:1.32;position:relative}.cv__skills li:before{content:"•";color:#111;position:absolute;left:0}.cv__skills b{letter-spacing:0;text-transform:none;color:#111;font-family:inherit;font-size:10pt;font-weight:700}.cv__skills b:after{content:" :"}.cv__skills span{color:#111}a{color:#111;text-decoration:none}}
