.cv-page{--cv-width:1280px}
.cv-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:30px;min-height:82px;padding:14px max(24px,calc((100% - var(--cv-width))/2));background:color-mix(in srgb,var(--paper) 95%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.cv-brand{display:flex;align-items:center;font-weight:700;font-size:28px;letter-spacing:-.09em}.cv-brand svg{width:28px;color:var(--accent)}
.cv-page svg:not(.ir-icon){fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cv-back{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.cv-back svg{width:19px}
.cv-header-tools{margin-left:auto;display:flex;gap:12px;align-items:center}.cv-header .language-switch button{min-width:37px;min-height:38px}
.cv-header .language-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:28px;padding:3px}.cv-header .language-switch button{background:transparent;color:var(--muted);border-radius:50%;font:10px var(--mono)}.cv-header .language-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.cv-layout{max-width:var(--cv-width);margin:0 auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:100px;padding:70px 0 0}
.cv-sidebar{align-self:stretch;position:relative;padding-bottom:25px}.cv-portrait{width:112px;aspect-ratio:4/5;border-radius:60px;overflow:hidden;margin-bottom:26px;background:var(--surface)}.cv-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.cv-kicker{font-size:8px;color:var(--muted);margin-bottom:14px}.cv-name{font-size:48px;line-height:1.03;font-weight:600;letter-spacing:-.07em}.cv-name>span{color:var(--accent)}.cv-role{font-size:15px;line-height:1.55;margin-top:18px}.cv-location{color:var(--muted);font-size:9px;margin:14px 0 24px}
.cv-contact{background:var(--signal);border-color:var(--signal);color:var(--signal-ink);width:100%;justify-content:center;border-radius:30px;padding:16px 22px;font-size:13px}.cv-download{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0 13px;border-bottom:1px solid var(--line);font-size:12px}.cv-download svg{width:18px;height:18px;flex-shrink:0}
.cv-nav{position:sticky;top:110px;display:grid;gap:2px;margin-top:30px;border-left:1px solid var(--line)}.cv-nav a{padding:10px 15px;font-size:12px;color:var(--muted);border-left:2px solid transparent;margin-left:-1px}.cv-nav a[aria-current=true]{color:var(--accent);border-color:var(--accent)}
.cv-section{scroll-margin-top:115px;margin-bottom:90px}.cv-section-number{display:block;color:var(--muted);font-size:9px;margin-bottom:20px}.cv-intro h1{font-size:clamp(45px,5.8vw,78px);font-weight:400;line-height:1.03;letter-spacing:-.065em}.cv-page h1 em,.cv-footer h2 em{font-family:Editorial,Georgia,serif;font-weight:400;color:var(--accent)}
.cv-summary{font-size:15px;line-height:1.8;color:var(--muted);max-width:700px;margin:28px 0 36px}.cv-summary p+p{margin-top:15px}
.cv-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;margin:0;padding-top:26px;border-top:1px solid var(--line)}.cv-metrics div{min-width:0}.cv-metrics dt{display:flex;flex-direction:column;gap:10px}.cv-metrics strong{font-size:42px;font-weight:400;letter-spacing:-.06em;line-height:1.05;color:var(--accent)}.cv-metrics dt span{font-size:12px;line-height:1.5;font-weight:600}.cv-metrics dd{margin:8px 0 0;font-size:10px;line-height:1.65;color:var(--muted)}
.cv-section h2{font-size:38px;font-weight:400;letter-spacing:-.055em;line-height:1.1}.cv-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.cv-expand{background:transparent;padding:10px 0;border-bottom:1px solid var(--ink);font-size:11px;white-space:nowrap}
.cv-timeline{border-top:1px solid var(--line)}.cv-job{border-bottom:1px solid var(--line);padding:25px 0}.cv-job summary{display:grid;grid-template-columns:140px minmax(0,1fr) 24px;gap:20px;cursor:pointer;list-style:none;align-items:start}.cv-job summary::-webkit-details-marker{display:none}.cv-job summary::marker{content:''}.cv-job summary:focus-visible{outline:2px solid var(--focus);outline-offset:6px}.cv-job-date{font-size:9px;color:var(--muted);padding-top:4px}.cv-job h3{font-size:21px;font-weight:600;letter-spacing:-.04em;line-height:1.3}.cv-job-role{font-size:13px;line-height:1.5;margin-top:7px}.cv-job-place{display:block;font-size:9px;margin-top:9px;color:var(--muted)}.cv-job summary>svg{width:24px;height:24px;color:var(--accent);transition:transform .2s}.cv-job[open] summary>svg{transform:rotate(45deg)}
.cv-job-body{padding:22px 44px 0 160px}.cv-job-body ul{padding-left:17px;margin:0;display:grid;gap:12px;font-size:13px;line-height:1.8;color:var(--muted)}.cv-job-body li::marker{color:var(--accent)}.cv-job[open] .cv-job-body{animation:cv-enter .25s ease-out}
.cv-section-note{font-size:14px;line-height:1.7;color:var(--muted);margin:18px 0 25px;max-width:580px}.cv-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cv-product{border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:10px;border-radius:3px 3px 25px 3px;transition:background .2s,border-color .2s}.cv-product:hover{background:var(--surface);border-color:var(--accent)}.cv-product .mono{font-size:8px;color:var(--muted)}.cv-product h3{font-size:21px;letter-spacing:-.04em;line-height:1.2}.cv-product p{font-size:12px;color:var(--muted);line-height:1.7}.cv-product>span:last-child{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--accent);margin-top:auto;padding-top:10px}.cv-product svg{width:18px;height:18px}
.cv-focus{display:grid;gap:18px;margin:28px 0 36px}.cv-focus article{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding-top:18px}.cv-focus h3{font-size:15px;letter-spacing:-.02em}.cv-focus p{font-size:13px;line-height:1.7;color:var(--muted)}
.cv-tools-title{font-size:19px;letter-spacing:-.03em;margin:20px 0}.cv-tool-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.cv-tool-filters button{padding:10px 13px;min-height:42px;background:transparent;border:1px solid var(--line);border-radius:24px;font-size:10px;line-height:1.4}.cv-tool-filters button[aria-pressed=true]{background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}.cv-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cv-tool-group{padding:20px;background:var(--surface);border:1px solid var(--line)}.cv-tool-group h4{font-size:13px;margin:0 0 10px}.cv-tool-group p{font-size:11px;color:var(--muted);line-height:1.65}.cv-tool-group ul{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:7px}.cv-tool-group li{padding:7px 9px;border:1px solid var(--line);border-radius:4px;font-size:10px}
.cv-education{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.cv-education h3{font-size:14px;margin-bottom:12px}.cv-education p{font-size:13px;line-height:1.8;color:var(--muted)}
.cv-footer{padding:36px 0 60px;border-top:1px solid var(--line)}.cv-footer>.mono{font-size:9px;color:var(--muted)}.cv-footer h2{font-size:46px;font-weight:400;letter-spacing:-.05em;line-height:1.15;margin:20px 0 28px}.cv-footer .primary-button{background:var(--signal);color:var(--signal-ink);border-color:var(--signal);border-radius:30px}.cv-footer-back{display:inline-block;margin-left:22px;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:5px}.cv-mobile-actions{display:none}
@keyframes cv-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1380px){.cv-layout{padding-inline:32px;gap:65px;grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:1000px){.cv-layout{gap:35px;grid-template-columns:200px minmax(0,1fr)}.cv-job summary{grid-template-columns:1fr 24px;gap:10px}.cv-job-date{grid-column:1/-1}.cv-job-body{padding:20px 30px 0 0}.cv-focus article{grid-template-columns:1fr;gap:9px}.cv-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-name{font-size:42px}}
@media(max-width:700px){.cv-header{min-height:72px;padding:12px 20px;gap:20px}.cv-back{min-width:40px;min-height:40px;justify-content:center}.cv-back span{display:none}.cv-header-tools{gap:8px}.cv-layout{display:block;padding:32px 22px 85px}.cv-sidebar{position:static;display:grid;grid-template-columns:minmax(0,1fr) 94px;column-gap:20px;padding-bottom:0}.cv-portrait{grid-column:2;grid-row:1/5;width:94px;margin:0;align-self:start}.cv-kicker{grid-column:1;font-size:8px}.cv-name{grid-column:1;font-size:40px}.cv-role{grid-column:1;font-size:13px;margin-top:15px}.cv-location{grid-column:1/-1;margin-bottom:10px}.cv-contact{display:none}.cv-download{grid-column:1/-1;font-size:12px;min-height:48px}.cv-nav{position:static;grid-column:1/-1;display:flex;overflow-x:auto;gap:6px;border:0;border-block:1px solid var(--line);padding:10px 0;margin:28px -22px 40px;padding-inline:22px;scrollbar-width:none}.cv-nav a{white-space:nowrap;min-height:44px;padding:12px;border:1px solid transparent;border-radius:24px;font-size:11px;margin:0}.cv-nav a[aria-current=true]{border-color:var(--line);color:var(--accent)}.cv-intro h1{font-size:clamp(43px,10vw,62px)}.cv-summary{font-size:14px;margin:22px 0 28px}.cv-section{margin-bottom:58px;scroll-margin-top:90px}.cv-section h2{font-size:32px}.cv-section-head{gap:12px;align-items:start}.cv-section-head h2{max-width:220px}.cv-section-number{font-size:8px}.cv-expand{font-size:10px;margin-top:31px}.cv-metrics{gap:26px 22px}.cv-metrics strong{font-size:38px}.cv-job{padding:23px 0}.cv-job h3{font-size:21px}.cv-job-role{font-size:13px}.cv-job-body{padding-right:12px}.cv-products{grid-template-columns:1fr}.cv-product{padding:22px}.cv-tools{grid-template-columns:1fr}.cv-tool-filters button{font-size:10px}.cv-education{grid-template-columns:1fr;gap:27px}.cv-footer{padding-bottom:15px}.cv-footer h2{font-size:36px}.cv-footer-back{margin:20px 0 0;display:table}.cv-mobile-actions{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;gap:10px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.cv-mobile-actions a{min-height:46px;display:flex;align-items:center;justify-content:center;padding:12px 20px;font-size:12px;border:1px solid var(--line);border-radius:26px}.cv-mobile-actions a:last-child{flex:1;background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}}
@media(prefers-reduced-motion:reduce){.cv-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.cv-page.motion-reduced *{animation:none!important;transition:none!important}
