.cv-desk{background:#e9e7e0;min-height:100vh;padding:clamp(16px,4vw,48px) clamp(12px,3vw,32px) clamp(48px,6vw,72px)}.cv-fit{width:816px;height:1056px;transform:scale(var(--cv-scale,1));transform-origin:0 0}.cv-fit-box{width:calc(816px * var(--cv-scale,1));height:calc(1056px * var(--cv-scale,1));margin-inline:auto}.cv-toolbar{width:min(100%, calc(816px * var(--cv-scale,1)));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto clamp(12px,2vw,20px);display:flex}.cv-toolbar .back{font:700 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#565c66;align-items:center;gap:8px;transition:color .16s;display:inline-flex}.cv-toolbar .back:hover{color:var(--blue-600)}.cv-toolbar .acts{flex-wrap:wrap;gap:8px;display:flex}.cv-toolbar button,.cv-toolbar a.btn{border:2px solid var(--ink-950);background:var(--white);color:var(--ink-950);font:700 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .16s ease, color .16s ease, transform .16s var(--ease);align-items:center;gap:9px;padding:9px 15px;display:inline-flex}.cv-toolbar button:hover,.cv-toolbar a.btn:hover{background:var(--ink-950);color:var(--paper-50);transform:translateY(-1px)}.cv-toolbar .primary{background:var(--ink-950);color:var(--paper-50)}.cv-toolbar .primary:hover{background:var(--blue-600);border-color:var(--blue-600);color:var(--white)}.page{background:var(--paper-50);width:816px;height:1056px;color:var(--ink-950);font-family:var(--font-sans);-webkit-print-color-adjust:exact;print-color-adjust:exact;grid-template-rows:auto 1fr;font-size:7.7pt;line-height:1.38;display:grid;overflow:hidden;box-shadow:0 2px 18px #1414132e}.page a{color:inherit;text-decoration:none}@media screen{.page a[href]{transition:background-size .22s var(--ease), color .16s ease, opacity .16s ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1.5px}.page a[href]:hover{color:var(--blue-600);background-size:100% 1.5px}.contact a[href]:hover{color:var(--blue-300)}.job:hover .side-t .co{color:var(--blue-600);transition:color .2s}.clients div{transition:background .18s}.clients div:hover b{color:var(--blue-600)}.vents>div{transition:background .18s}.vents>div:hover{background:var(--white)}.skills div svg,.contact svg{transition:transform .22s var(--ease)}.skills div:hover svg,.contact div:hover svg{transform:scale(1.18)}}.mast{background:var(--ink-950);color:var(--white);border-bottom:2.5px solid var(--ink-950);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;padding:18px 26px 16px;display:grid;position:relative;overflow:hidden}.mast .circ{background:var(--blue-600);border-radius:50%;width:180px;height:180px;position:absolute;top:-118px;left:-84px}.mast>div{position:relative}.mast>div:not(.contact){width:fit-content}.mast h1{letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:36.8pt;font-weight:900;line-height:.86}.mast h1 b{color:var(--coral-500)}.mast .role{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:9px;margin:7px 0 9px;font-size:10.5pt;font-weight:600;display:flex}.mast .pill{background:var(--coral-500);color:var(--ink-950);font:700 6.2pt/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:4px 10px;display:inline-flex}.mast .pill svg{width:9px;height:9px;display:block}.strip{gap:5px;display:flex}.strip b{color:var(--paper-50);white-space:nowrap;font:700 6.2pt/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #f3f1ea73;flex:1;justify-content:center;align-items:center;padding:4.5px 9px;display:flex}.strip b.blue{background:var(--blue-600);border-color:var(--blue-600);color:var(--white)}.contact{color:var(--paper-50);border-left:1px solid #f3f1ea4d;align-content:center;justify-items:start;gap:10px;padding:0 0 2px 24px;display:grid;position:relative}.cv-loc{font:700 6.2pt/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-400);align-items:center;gap:6px;display:inline-flex}.cv-loc svg{width:12px;height:12px;color:var(--coral-500);flex:none}.cv-icons{gap:7px;display:flex}.cv-ico{width:26px;height:26px;color:var(--paper-50);transition:transform .2s var(--ease), background .2s ease, border-color .2s ease, color .2s ease;background:0 0;border:1.5px solid #f3f1ea59;border-radius:50%;place-items:center;display:grid}.cv-ico svg{width:13px;height:13px;transition:transform .2s var(--ease);display:block}.cv-ico:hover,.cv-ico:focus-visible{background:var(--blue-600);border-color:var(--blue-600);color:var(--white);transform:translateY(-3px)}.cv-ico:hover svg,.cv-ico:focus-visible svg{transform:scale(1.15)}.cv-ico:active{transform:translateY(-1px)}.contact .lang-row{border-top:1px solid #f3f1ea47;align-items:center;gap:6px;width:100%;margin-top:2px;padding-top:8px;display:inline-flex}.contact .lang-row svg{width:12px;height:12px;color:var(--coral-500);flex:none;order:-1}.contact .lang{font:700 6.2pt/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--coral-500)}.contact .lang b{cursor:default;font-weight:700;position:relative}.cv-contact-print{display:none}@media screen{[data-tip]{position:relative}[data-tip]:after,[data-tip]:before{opacity:0;pointer-events:none;transition:opacity .16s ease, transform .16s var(--ease)}[data-tip]:after{content:attr(data-tip);background:var(--ink-950);color:var(--paper-50);font:600 6.6pt/1.25 var(--font-sans);letter-spacing:0;text-transform:none;white-space:nowrap;z-index:5;border:0;border-radius:3px;padding:5px 8px;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,3px);box-shadow:0 4px 14px #07090d47}[data-tip]:before{content:"";border:6px solid #0000;border-top-color:var(--ink-950);z-index:6;border-bottom:0;position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%,3px)}[data-tip]:hover:after,[data-tip]:hover:before{opacity:1;transform:translate(-50%)}.clients [data-tip]:after,.skills [data-tip]:after{background:var(--ink-950);color:var(--paper-50);border-color:var(--ink-950)}.clients [data-tip]:after{left:auto;right:0;transform:translateY(3px)}.clients [data-tip]:before{left:auto;right:10px;transform:translateY(3px)}.clients [data-tip]:hover:after,.clients [data-tip]:hover:before{transform:translate(0)}.edu [data-tip]:after,.earlier [data-tip]:after{left:0;transform:translateY(3px)}.edu [data-tip]:before,.earlier [data-tip]:before{left:14px;transform:translateY(3px)}.edu [data-tip]:hover:after,.edu [data-tip]:hover:before,.earlier [data-tip]:hover:after,.earlier [data-tip]:hover:before{transform:translate(0)}.contact [data-tip]:after{left:auto;right:0;transform:translateY(3px)}.contact [data-tip]:before{left:auto;right:10px;transform:translateY(3px)}.contact [data-tip]:hover:after,.contact [data-tip]:hover:before{transform:translate(0)}.contact .lang [data-tip]:after,.contact .lang [data-tip]:before{left:50%;right:auto;transform:translate(-50%,3px)}.contact .lang [data-tip]:hover:after,.contact .lang [data-tip]:hover:before{transform:translate(-50%)}}.cols{grid-template-columns:minmax(0,1fr) minmax(0,2.05fr);gap:0;min-height:0;display:grid}.side{border-right:2.5px solid var(--ink-950);background:var(--white);align-content:start;gap:8px;padding:12px 18px;display:grid}.main{align-content:start;gap:9px;padding:12px 16px;display:grid}h2.sec{text-transform:uppercase;letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 8px;font-size:10.5pt;font-weight:900;display:flex}h2.sec:after{content:"";background:var(--ink-950);flex:1;height:2.5px}.blk p{color:#3d4450;margin:0 0 8px}.blk p:last-child{margin-bottom:0}.skills{gap:4px;display:grid}.skills div{color:var(--c,var(--ink-950));grid-template-columns:15px 1fr;gap:3px 8px;display:grid}.skills div:after{content:"";background:currentColor;border-radius:1px;grid-area:2/1;justify-self:center;width:2.5px}.skills svg{align-self:center;width:15px;height:15px;display:block}.skills strong{color:var(--ink-950);align-self:center;font-size:8.4pt;font-weight:800;display:block}.skills p{font:400 7.4pt/1.45 var(--font-sans);color:#565c66;grid-column:2;margin:0}.edu{gap:8px;display:grid}.edu .t{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.edu h3{margin:0;font-size:8.4pt;font-weight:800}.edu .yr{font:700 6.6pt/1 var(--font-mono);letter-spacing:.06em;color:var(--blue-600)}.edu .sch{color:var(--blue-600);margin:1px 0 3px;font-size:7.7pt;font-weight:700;display:block}.edu ul{color:#3d4450;margin:0;padding-left:11px;font-size:7.4pt;line-height:1.45;list-style:outside}.earlier{background:var(--ink-950);color:var(--paper-50);padding:8px 12px}.earlier .h{font:700 6.2pt/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #f3f1ea4d;margin-bottom:7px;padding-bottom:7px}.earlier div.r{grid-template-columns:1fr auto;align-items:baseline;gap:8px;padding:4px 0;display:grid}.earlier .org{font-size:7.7pt;font-weight:700}.earlier .role-t{font:700 6.2pt/1.35 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-300);display:block}.earlier .y{font:700 6.6pt/1 var(--font-mono);letter-spacing:.06em;color:var(--muted-400)}.job{border-top:2.5px solid var(--ink-950);grid-template-columns:88px minmax(0,1fr);gap:12px;padding-top:16px;display:grid}.job:first-of-type{border-top:0;margin-top:-5px;padding-top:0}.job .side-t .co{letter-spacing:-.03em;font-size:10pt;font-weight:900;line-height:1.05;display:block}.job .side-t .yr{font:700 6.6pt/1.4 var(--font-mono);letter-spacing:.06em;color:var(--blue-600);margin-top:4px;display:block}.job h3{letter-spacing:-.01em;margin:0 0 8px;font-size:8.8pt;font-weight:800}.job ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.job li{color:#3d4450;grid-template-columns:11px 1fr;gap:4px;display:grid}.job li:before{content:"→";color:var(--blue-600);font-weight:900}.job li b{color:var(--ink-950);font-weight:800}.hl{background:var(--amber-500);color:var(--ink-950);padding:0 2px;font-weight:800}.clients{gap:4px;display:grid}.clients div{color:#3d4450;grid-template-columns:11px minmax(0,1fr) auto;align-items:baseline;gap:4px;display:grid}.clients b,.clients div:before{white-space:nowrap}.clients div:before{content:"→";color:var(--blue-600);font-weight:900}.clients div:last-child{border-bottom:0}.clients b{font:700 6.2pt/1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600);text-align:right}.vents{border:2.5px solid var(--ink-950);background:var(--ink-950);grid-template-columns:repeat(3,1fr);gap:2.5px;display:grid}.vents>div{background:var(--paper-50);padding:11px 10px}.vents .top{font:700 6.2pt/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;display:block}.vents .top .yr{color:var(--blue-600)}.vents h3{letter-spacing:-.03em;margin:5px 0 4px;font-size:10pt;font-weight:900}.vents p{color:#3d4450;margin:0;font-size:7.4pt;line-height:1.45}@media screen and (max-width:900px){.cv-fit{width:auto;height:auto;transform:none}.cv-fit-box{width:100%;height:auto}.cv-toolbar{width:100%}.page{width:100%;height:auto;box-shadow:none;font-size:11.5pt;overflow:visible}.mast{grid-template-columns:1fr;gap:20px;padding:22px 20px}.mast h1{white-space:normal;font-size:clamp(28pt,12vw,36.8pt)}.mast .role{white-space:normal;flex-wrap:wrap}.mast .pill{margin-left:0}.strip{flex-wrap:wrap}.strip b{flex:0 auto}.contact{white-space:normal;border-top:1px solid #f3f1ea4d;border-left:0;padding:16px 0 0}.cols{grid-template-columns:1fr}.side{border-right:0;border-bottom:2.5px solid var(--ink-950);padding:20px}.main{padding:20px}.clients div{grid-template-columns:11px 1fr;row-gap:2px}.clients b{text-align:left;grid-column:2}.job{grid-template-columns:1fr;gap:8px}.job .side-t{align-items:baseline;gap:10px;display:flex}.job .side-t .yr{margin-top:0}.vents{grid-template-columns:1fr}}@media print{.cv-desk{background:0 0;min-height:0;padding:0}.cv-toolbar{display:none}.cv-fit{width:8.5in;height:11in;transform:none}.cv-fit-box{width:auto;height:auto;margin:0}.page{width:8.5in;height:11in;box-shadow:none;break-inside:avoid}.cv-icons{display:none}.cv-contact-print{color:var(--paper-50);gap:3px;font-size:7pt;font-weight:700;display:grid}[data-tip]:after,[data-tip]:before{display:none!important}}
