.cv-page{--cv-lime:#a8ff53;--cv-lime-soft:rgba(168,255,83,.08);--cv-lime-line:rgba(168,255,83,.45);--cv-header-offset:112px}.cv-side-inner{display:flex;flex-direction:column;gap:16px}@media (min-width:992px){.cv-side{position:-webkit-sticky;position:sticky;top:var(--cv-header-offset);max-height:calc(100vh - var(--cv-header-offset) - 16px);overflow-y:auto;scrollbar-width:none}.cv-side::-webkit-scrollbar{display:none}}.cv-avatar{width:min(100%,140px);aspect-ratio:1/1;border-radius:50%;overflow:hidden;margin:0 auto}.cv-avatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) brightness(.9);display:block}.cv-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:8px;background:var(--cv-lime);color:#111!important;font-weight:500;text-decoration:none;border:1px solid var(--cv-lime);transition:background-color .2s ease,transform .2s ease}.cv-cta:hover{background:#c2ff82;transform:translateY(-2px)}.cv-cta--ghost{background:transparent;color:inherit!important;border-color:var(--cv-lime-line)}.cv-cta--ghost:hover{background:var(--cv-lime-soft)}.cv-contact a,.cv-contact div{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;color:inherit;border-radius:8px;overflow-wrap:anywhere}.cv-contact a:hover,.cv-contact i{color:var(--cv-lime)}.cv-contact i{font-size:18px;flex-shrink:0}.cv-tabs{position:-webkit-sticky;position:sticky;top:var(--cv-header-offset);z-index:5;display:flex;gap:4px;margin-bottom:40px;padding:6px;overflow-x:auto;scrollbar-width:none;border:1px solid var(--tc-border-1,#333);border-radius:12px;background:hsla(0,0%,4%,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cv-tabs::-webkit-scrollbar{display:none}.cv-tabs a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:8px;color:inherit;opacity:.65;text-decoration:none;transition:opacity .2s ease,color .2s ease,background-color .2s ease}.cv-tabs a:hover{opacity:1}.cv-tabs a.is-active{opacity:1;color:var(--cv-lime);background:var(--cv-lime-soft)}.cv-page a:focus-visible,.cv-page button:focus-visible{outline:2px solid var(--cv-lime);outline-offset:2px}.cv-main>section{scroll-margin-top:176px}.cv-main>section+section{margin-top:72px}.cv-sec-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}.cv-sec-idx{color:var(--cv-lime);font-size:.875rem}.cv-sec-title{margin:0;font-size:clamp(1.375rem,2.4vw,1.75rem);white-space:nowrap}.cv-sec-line{flex:1 1;height:1px;background:linear-gradient(90deg,var(--cv-lime-line),transparent)}.cv-tile{height:100%;transition:border-color .25s ease,transform .25s ease}.cv-tile:hover{--bs-border-color:var(--cv-lime-line)!important;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.cv-cta,.cv-tabs a,.cv-tile{transition:none}.cv-cta:hover,.cv-tile:hover{transform:none}}.cv-stat{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.1;margin:12px 0 4px;color:var(--bs-body-color)}.cv-big-num{font-size:clamp(2.5rem,5vw,3.75rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--cv-lime-line);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cv-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cv-lime);opacity:.85;margin-bottom:12px}.cv-checks{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.cv-checks li{position:relative;padding-left:24px}.cv-checks li:before{content:"";position:absolute;left:2px;top:.5em;width:11px;height:6px;border-left:2px solid var(--cv-lime);border-bottom:2px solid var(--cv-lime);transform:rotate(-45deg)}.cv-timeline{list-style:none;margin:0;padding:0}.cv-timeline li{position:relative;display:grid;grid-template-columns:72px 1fr;grid-gap:0 24px;gap:0 24px;padding:0 0 28px 28px;border-left:1px solid var(--tc-neutral-600,#444)}.cv-timeline li:last-child{padding-bottom:0}.cv-timeline li:before{content:"";position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--cv-lime);box-shadow:0 0 0 4px rgba(168,255,83,.15)}@media (max-width:575px){.cv-timeline li{grid-template-columns:1fr;gap:4px}}@media (min-width:768px){.cv-checks--2{grid-template-columns:repeat(2,1fr);gap:8px 32px}}body:has(.cv-page){overflow-x:clip;overflow-y:visible}.cv-print-only{display:none}button.cv-cta{font:inherit;cursor:pointer}@page{size:A4;margin:12mm}@media print{body,html{background:#fff!important}[data-bs-theme] .cv-page .box-linear-animation,[data-bs-theme] .cv-page .box-linear-animation.box-linear-lime{background:none!important;animation:none!important;border:0!important}.cv-cta,.cv-sec-line,.cv-tabs,body:has(.cv-page) .back-to-top,body:has(.cv-page) footer,body:has(.cv-page) header,body:has(.cv-page)>:not(:has(.cv-page)){display:none!important}.cv-screen-only{display:none!important}.cv-print-only{display:inline!important}.cv-page{--cv-lime:#2f7d0f;--cv-lime-soft:transparent;--cv-lime-line:#9bbf86;padding:0!important;zoom:.78;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-page,.cv-page *{color:#111!important;background:transparent!important;background-image:none!important;box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important;-webkit-text-fill-color:currentColor!important}.cv-page .container{max-width:none!important;width:100%!important;padding:0!important}.cv-page .border,.cv-page .border-1{--bs-border-color:#cfcfcf!important;border-color:#cfcfcf!important}.cv-page .container>.row{flex-wrap:nowrap!important;--bs-gutter-x:1.25rem}.cv-page aside{flex:0 0 30%!important;max-width:30%!important}.cv-page main{flex:0 0 70%!important;max-width:70%!important}.cv-side{position:static!important;max-height:none!important;overflow:visible!important}.cv-main>section+section{margin-top:28px}.cv-tile,.cv-timeline li{break-inside:avoid;page-break-inside:avoid}.cv-sec-head{page-break-after:avoid;break-after:avoid;margin-bottom:12px}.cv-page .cv-contact i,.cv-page .cv-label,.cv-page .cv-sec-idx,.cv-page .text-linear-4,.cv-page .text-primary-2{color:#2f7d0f!important;-webkit-text-fill-color:#2f7d0f!important}.cv-page .text-300{color:#444!important}.cv-big-num{-webkit-text-stroke:1px #9bbf86!important;color:transparent!important;-webkit-text-fill-color:transparent!important}.cv-checks li:before{border-color:#2f7d0f!important}.cv-timeline li{border-left-color:#bbb!important}.cv-timeline li:before{background:#2f7d0f!important;box-shadow:none!important}.cv-avatar img{filter:grayscale(100%)}.cv-page a{text-decoration:none}}