*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--bg:0 0% 3.5%;--text:0 0% 93%;--muted:0 0% 45%;--border:0 0% 100% / .06;--background:var(--bg);--foreground:var(--text);--card:0 0% 5%;--card-foreground:var(--text);--popover:0 0% 5%;--popover-foreground:var(--text);--primary:0 0% 85%;--primary-foreground:0 0% 5%;--secondary:0 0% 7%;--secondary-foreground:0 0% 65%;--muted-foreground:var(--muted);--accent:0 0% 85%;--accent-foreground:0 0% 5%;--destructive:0 50% 50%;--destructive-foreground:0 0% 98%;--input:0 0% 100% / .06;--ring:0 0% 60%;--radius:.375rem;--sidebar-background:var(--bg);--sidebar-foreground:var(--text);--sidebar-primary:0 0% 85%;--sidebar-primary-foreground:0 0% 5%;--sidebar-accent:0 0% 7%;--sidebar-accent-foreground:0 0% 75%;--sidebar-border:0 0% 10%;--sidebar-ring:0 0% 60%;--surface:0 0% 4.5%;--surface-foreground:0 0% 80%;--glow-primary:0 0% 85%}@media (width>=1024px){:root{--muted:0 0% 50%;--border:0 0% 100% / .075;--input:0 0% 100% / .075;--surface-foreground:0 0% 84%}}*{border-color:hsl(var(--border))}html{scroll-behavior:smooth;position:relative}body{background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif;position:relative}:where(a,button,[role=button],input,select,textarea,summary):focus-visible{box-shadow:0 0 0 2px #000, 0 0 0 4px hsl(var(--primary) / .6);outline:none}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-family:Inter,sans-serif}h1{letter-spacing:-.035em;line-height:1.05}h2{letter-spacing:-.03em;line-height:1.15}code,pre,.font-mono{font-family:JetBrains Mono,monospace}.hero-serif{letter-spacing:-.04em;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:400}.sparkle{color:#666;vertical-align:middle;margin:0 .2em;font-size:.55em;display:inline-block}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-32{bottom:-8rem}.-top-\[15\%\]{top:-15%}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.left-16{left:4rem}.right-0{right:0}.right-16{right:4rem}.right-3{right:.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-24{top:6rem}.top-3{top:.75rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.-mt-10{margin-top:-2.5rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-\[calc\(4rem\+1rem\)\]{margin-left:5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[280px\]{height:280px}.h-\[500px\]{height:500px}.h-\[520px\]{height:520px}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0}.max-h-12{max-height:3rem}.min-h-\[100dvh\]{min-height:100dvh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-16{width:4rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[520px\]{width:520px}.w-\[900px\]{width:900px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[220px\]{max-width:220px}.max-w-\[32rem\]{max-width:32rem}.max-w-\[52ch\]{max-width:52ch}.max-w-\[55ch\]{max-width:55ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-md{max-width:28rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x:0;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.scroll-mt-24{scroll-margin-top:6rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-white\/\[0\.05\]>:not([hidden])~:not([hidden]){border-color:#ffffff0d}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/\[0\.06\]{border-color:hsl(var(--border) / .06)}.border-border\/\[0\.08\]{border-color:hsl(var(--border) / .08)}.border-border\/\[0\.10\]{border-color:hsl(var(--border) / .1)}.border-foreground\/30{border-color:hsl(var(--foreground) / .3)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-transparent{border-color:#0000}.border-white\/\[0\.06\]{border-color:#ffffff0f}.border-white\/\[0\.08\]{border-color:#ffffff14}.border-white\/\[0\.09\]{border-color:#ffffff17}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-foreground\/40{background-color:hsl(var(--foreground) / .4)}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/60{background-color:hsl(var(--primary) / .6)}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary) / .06)}.bg-transparent{background-color:#0000}.bg-white\/\[0\.015\]{background-color:#ffffff04}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-foreground\/15{--tw-gradient-from:hsl(var(--foreground) / .15) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/\[0\.025\]{--tw-gradient-from:#ffffff06 var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-5{padding:1.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,monospace}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[5rem\]{font-size:5rem}.text-\[8rem\]{font-size:8rem}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[0\.92\]{line-height:.92}.leading-\[1\.85\]{line-height:1.85}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-background{color:hsl(var(--background))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/25{color:hsl(var(--foreground) / .25)}.text-foreground\/30{color:hsl(var(--foreground) / .3)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/85{color:hsl(var(--foreground) / .85)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/20{color:hsl(var(--muted-foreground) / .2)}.text-muted-foreground\/25{color:hsl(var(--muted-foreground) / .25)}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/35{color:hsl(var(--muted-foreground) / .35)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/45{color:hsl(var(--muted-foreground) / .45)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/55{color:hsl(var(--muted-foreground) / .55)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/65{color:hsl(var(--muted-foreground) / .65)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-muted-foreground\/75{color:hsl(var(--muted-foreground) / .75)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-primary{color:hsl(var(--primary))}.text-primary\/50{color:hsl(var(--primary) / .5)}.text-primary\/70{color:hsl(var(--primary) / .7)}.text-primary\/80{color:hsl(var(--primary) / .8)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.22\)\]{--tw-shadow:0 20px 60px #00000038;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[110px\]{--tw-blur:blur(110px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in{--tw-enter-opacity:0}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.site-container{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=768px){.site-container{padding-left:2.5rem;padding-right:2.5rem}}.section-layout{grid-template-columns:repeat(1,minmax(0,1fr));padding-top:6rem;padding-bottom:6rem;display:grid}@media (width>=768px){.section-layout{grid-template-columns:240px 1fr;gap:4rem}}.rail{align-self:flex-start}@media (width>=768px){.rail{position:sticky;top:6rem}}.section-kicker{text-transform:uppercase;letter-spacing:.14em;--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1));font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1rem}.section-title{letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));font-size:1.5rem;font-weight:600;line-height:2rem}@media (width>=768px){.section-title{font-size:1.875rem;line-height:2.25rem}}.muted-text{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.75rem}@media (width>=768px){.muted-text{font-size:1rem;line-height:1.5rem}}.divider{border-color:hsl(var(--border))}.accent-link{color:hsl(var(--primary));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.15s;animation-timing-function:cubic-bezier(0,0,.2,1)}.accent-link:hover{color:hsl(var(--primary) / .9)}.bg-deep{background:radial-gradient(ellipse 70% 45% at 50% -10%, #ffffff05 0%, transparent 55%), hsl(var(--background))}.bg-deep.grain{background:radial-gradient(ellipse 70% 45% at 50% -10%, #ffffff05 0%, transparent 55%), url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='0.015' filter='url(%23noise)'/%3E%3C/svg%3E"), hsl(var(--background));background-repeat:no-repeat,repeat,no-repeat;background-size:auto,160px 160px,auto}@media (width>=1024px){.site-container{max-width:78rem;padding-left:2.75rem;padding-right:2.75rem}.section-layout{-moz-column-gap:5rem;grid-template-columns:250px minmax(0,1fr);column-gap:5rem;padding-top:6.75rem;padding-bottom:6.75rem}.section-kicker{letter-spacing:.17em;color:hsl(var(--muted-foreground) / .72);font-size:11px}.section-title{font-size:2.35rem}}.about-portrait{isolation:isolate;position:relative}.about-portrait__frame{aspect-ratio:1;background:linear-gradient(135deg,#141414,#0a0a0a);border-radius:2px;transition:transform .6s,box-shadow .6s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 30px 60px -30px #0009,0 0 0 1px #ffffff0f}.about-portrait:hover .about-portrait__frame{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0f,0 40px 80px -30px #000000b3,0 0 0 1px #ffffff1a}.about-portrait__img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%;filter:grayscale()contrast(1.05)brightness(.96);width:100%;height:100%;transition:filter .7s,transform .9s}.about-portrait:hover .about-portrait__img{filter:grayscale(85%)contrast(1.08)brightness();transform:scale(1.025)}.about-portrait__grain{pointer-events:none;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:absolute;inset:0}.about-portrait__vignette{pointer-events:none;background:radial-gradient(120% 90% at 50% 30%,#0000 50%,#00000073 100%);position:absolute;inset:0}.about-portrait__tick{z-index:2;pointer-events:none;border:0 solid #ffffff47;width:14px;height:14px;transition:border-color .4s;position:absolute}.about-portrait:hover .about-portrait__tick{border-color:#ffffff8c}.about-portrait__tick--tl{border-top-width:1px;border-left-width:1px;top:-6px;left:-6px}.about-portrait__tick--tr{border-top-width:1px;border-right-width:1px;top:-6px;right:-6px}.about-portrait__tick--bl{border-bottom-width:1px;border-left-width:1px;bottom:-6px;left:-6px}.about-portrait__tick--br{border-bottom-width:1px;border-right-width:1px;bottom:-6px;right:-6px}.about-portrait__caption{justify-content:center;align-items:center;gap:8px;margin-top:14px;display:flex}@media (width>=1024px){.about-portrait__caption{justify-content:flex-start}}.about-portrait__dot{background:#26d968;border-radius:999px;width:5px;height:5px;animation:2.4s ease-in-out infinite about-portrait-pulse;display:inline-block;box-shadow:0 0 8px #26d9688c}@keyframes about-portrait-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.about-portrait__img,.about-portrait__frame,.about-portrait__tick{transition:none}.about-portrait__dot{animation:none}}.cv-print-shell{box-sizing:border-box;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4b4b4b #080808;background:radial-gradient(circle at top,#ffffff0a,#0000 30%),#020202;height:100dvh;min-height:100vh;padding:2rem 0 7rem;overflow:auto}.cv-print-shell::-webkit-scrollbar{width:11px}.cv-print-shell::-webkit-scrollbar-track{background:#080808}.cv-print-shell::-webkit-scrollbar-thumb{background:#4b4b4b;border:2px solid #080808;border-radius:999px}.cv-print-shell::-webkit-scrollbar-thumb:hover{background:#616161}.cv-print-stage,.cv-print-pages{gap:1.25rem;display:grid}.cv-print-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:min(210mm,100vw - 1.5rem);margin:0 auto 1rem;display:flex}.cv-print-toolbar-link,.cv-print-toolbar-button{color:#ebebeb;background:#080808eb;border:1px solid #ffffff14;border-radius:.45rem;justify-content:center;align-items:center;min-height:2.75rem;padding:.75rem 1rem;font-size:.925rem;font-weight:500;text-decoration:none;transition:background-color .16s,border-color .16s;display:inline-flex}.cv-print-toolbar-button{cursor:pointer}.cv-print-toolbar-link:hover,.cv-print-toolbar-button:hover{background:#121212fa;border-color:#ffffff1f}.cv-online-shell{background:radial-gradient(circle at 18% 0,#ffffff0f,#0000 24%),radial-gradient(circle at 82% 10%,#ffffff0a,#0000 20%),#020202;position:relative}.cv-online-bg{pointer-events:none;opacity:.72;background:linear-gradient(90deg,#0000 0 calc(50% - .5px),#ffffff08 50%,#0000 calc(50% + .5px) 100%),linear-gradient(#ffffff05 0,#0000 22%);position:fixed;inset:0}.cv-online-toolbar{z-index:40;position:sticky;top:0}.cv-online-toolbar .cv-print-toolbar-link,.cv-online-toolbar .cv-print-toolbar-button{color:#ffffffb3;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;border-radius:.35rem;min-height:auto;padding:.45rem .65rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500;transition:background-color .2s,color .2s,transform .12s}.cv-online-toolbar .cv-print-toolbar-link:hover,.cv-online-toolbar .cv-print-toolbar-button:hover{color:#f1f1f1;background:#ffffff0a;border-color:#0000}.cv-online-toolbar .cv-print-toolbar-link:active,.cv-online-toolbar .cv-print-toolbar-button:active{transform:scale(.97)}.cv-online-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.cv-online-toolbar-link{align-items:center;gap:.55rem;display:inline-flex}.cv-online-toolbar-link--ghost{position:relative}.cv-online-toolbar-link--ghost:after{content:"";transform-origin:0;background:#ffffff1f;height:1px;transition:transform .18s,background-color .18s;position:absolute;bottom:-.1rem;left:0;right:0;transform:scaleX(.2)}.cv-online-toolbar-link--ghost:hover:after{background:#ffffff42;transform:scaleX(1)}.cv-online-toolbar-link--back{gap:.45rem}.cv-online-toolbar-icon--back{transition:transform .2s}.cv-online-toolbar-link--back:hover .cv-online-toolbar-icon--back{transform:translate(-3px)}.cv-online-toolbar-icon--chevron{transition:transform .25s cubic-bezier(.22,1,.36,1)}.cv-online-toolbar-icon{width:1rem;height:1rem}.cv-online-scroll-top{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffb3;cursor:pointer;background:#080808eb;border:1px solid #ffffff14;border-radius:.65rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:background-color .2s,border-color .2s,color .2s,transform .12s;display:inline-flex;position:fixed;bottom:1.5rem;right:1.5rem}.cv-online-scroll-top:hover{color:#f1f1f1;background:#121212fa;border-color:#ffffff24}.cv-online-scroll-top:active{transform:scale(.94)}.cv-online-scroll-top-icon{width:1.1rem;height:1.1rem}.cv-online-stage{z-index:1;position:relative}.cv-online-layout{grid-template-columns:1fr;gap:2rem;width:100%;max-width:1280px;margin:0 auto;display:grid}@media (width>=1024px){.cv-online-layout{grid-template-columns:260px 1fr}.cv-online-layout.cv-online-layout--no-sidebar{grid-template-columns:1fr;max-width:1100px}}.cv-online-toolbar-version{margin:0 auto}.cv-online-frame{background:linear-gradient(#121212c2 0%,#070707f0 100%);border:1px solid #ffffff0f;border-radius:1.45rem;width:100%;max-width:100%;margin:0 auto;padding:1.35rem;position:relative;box-shadow:inset 0 1px #ffffff08,0 22px 54px #00000057}.cv-online-document{justify-content:center;display:flex}.cv-online-document .cv-print-pages--web{gap:0}.cv-online-document .cv-a4--web{width:min(210mm,100vw - 3rem)}.cv-online-menu-backdrop{z-index:49;cursor:pointer;background:#00000085;border:0;position:fixed;inset:0}.cv-online-menu{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#161616f5 0%,#080808fa 100%);border:1px solid #ffffff14;border-radius:1.2rem;width:min(24rem,100vw - 1.5rem);padding:1rem;position:fixed;top:5rem;right:max(.75rem,50vw - 105mm - .75rem);box-shadow:inset 0 1px #ffffff08,0 24px 60px #00000073}.cv-online-menu-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.cv-online-menu-kicker{letter-spacing:.12em;text-transform:uppercase;color:#ffffff7a;margin:0;font-family:JetBrains Mono,monospace;font-size:.66rem}.cv-online-menu-title{letter-spacing:-.04em;color:#f2f2f2;margin:.35rem 0 0;font-size:1.35rem;line-height:1.02}.cv-online-menu-close{color:#ebebeb;cursor:pointer;background:#ffffff05;border:1px solid #ffffff12;border-radius:.8rem;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:background-color .16s,border-color .16s;display:inline-flex}.cv-online-menu-close:hover{background:#ffffff0a;border-color:#ffffff1f}.cv-online-menu-grid{gap:1rem;display:grid}.cv-online-menu-section{gap:.7rem;display:grid}.cv-online-menu-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.cv-online-menu-button,.cv-online-menu-link{color:#ececec;text-align:left;cursor:pointer;background:#ffffff06;border:1px solid #ffffff12;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:2.9rem;padding:.8rem .95rem;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.cv-online-menu-button:hover,.cv-online-menu-link:hover,.cv-online-menu-card:hover{background:#ffffff0a;border-color:#ffffff1f;transform:translateY(-1px)}.cv-online-menu-list,.cv-online-menu-link-cards{gap:.65rem;display:grid}.cv-online-menu-link-icon,.cv-online-menu-card-icon{width:.95rem;height:.95rem}.cv-online-menu-card{color:#ececec;background:#ffffff06;border:1px solid #ffffff12;border-radius:.95rem;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem .95rem;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:flex}.cv-online-menu-card-main{align-items:center;gap:.75rem;min-width:0;display:flex}.cv-online-menu-card-copy{gap:.15rem;min-width:0;display:grid}.cv-online-menu-card-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff6b;font-family:JetBrains Mono,monospace;font-size:.62rem}.cv-online-menu-card-value{color:#f0f0f0;overflow-wrap:anywhere;font-size:.95rem}@media (width<=860px){.cv-print-toolbar{flex-direction:column;align-items:stretch;width:calc(100vw - 1.5rem)}.cv-online-toolbar-actions{grid-template-columns:1fr;display:grid}.cv-online-toolbar .cv-print-toolbar-link,.cv-online-toolbar .cv-print-toolbar-button{justify-content:flex-start}.cv-online-frame{border-radius:1rem;padding:.7rem}.cv-online-document .cv-a4--web{width:calc(100vw - 2.9rem)}.cv-online-menu{width:calc(100vw - 1.5rem);top:1rem;right:.75rem}.cv-online-menu-actions{grid-template-columns:1fr}}.cv-a4{color:#ebebeb;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:linear-gradient(#141414 0%,#101010 46%,#0a0a0a 100%);flex-direction:column;width:210mm;height:297mm;max-height:297mm;margin:0 auto;font-family:Inter,sans-serif;font-size:9.15px;line-height:1.5;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0d,0 32px 80px #000000a6}.cv-a4 *{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-a4-header{background:linear-gradient(#ffffff07 0%,#ffffff01 84%);border-bottom:1px solid #ffffff1d;padding:9.9mm 11.2mm 6.9mm;position:relative;box-shadow:inset 0 -7mm 10mm #0000000f}.cv-a4-header-top{justify-content:space-between;align-items:center;gap:4mm;margin-bottom:4mm;display:flex}.cv-a4-kicker,.cv-a4-status,.cv-a4-sec-title,.cv-a4-project-context,.cv-a4-project-stack-item,.cv-a4-entry-date,.cv-a4-badge{font-family:JetBrains Mono,monospace}.cv-a4-kicker{letter-spacing:.11em;text-transform:uppercase;color:#757575;margin:0;font-size:5.55px;font-weight:560}.cv-a4-status{letter-spacing:.06em;text-transform:uppercase;color:#bdbdbd;text-align:right;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:5.5px;font-weight:600}.cv-a4-header-main{gap:2.95mm;display:grid}.cv-a4-header-identity{gap:1.95mm;display:grid}.cv-a4-name{letter-spacing:-.058em;color:#fafafa;text-shadow:none;margin:0;font-size:43px;font-weight:780;line-height:.94}.cv-a4-name-last{color:#ddd;font-weight:360}.cv-a4-title-row{color:#e7e7e7;max-width:118mm;margin:0;font-size:11.2px;font-weight:640;line-height:1.35}.cv-a4-accroche{color:#b1b1b1;max-width:138mm;margin:0;font-size:8.2px;line-height:1.66}.cv-a4-meta-strip{border-top:1px solid #ffffff15;flex-wrap:wrap;gap:0;margin-top:5.1mm;padding-top:2.2mm;display:flex}.cv-a4-meta-item{color:#b2b2b2;background:0 0;border:0;border-radius:0;flex:none;min-width:0;padding:0 2.9mm 0 0;font-size:6.75px;font-weight:520;line-height:1.45}.cv-a4-meta-item+.cv-a4-meta-item{border-left:1px solid #ffffff1a;margin-left:2.9mm;padding-left:2.9mm}.cv-a4-meta-item--emphasis{color:#f6f6f6;font-weight:600}.cv-a4-body{flex:1;grid-template-columns:58mm minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.cv-a4-side{background:#0a0a0a;border-right:1px solid #fff1;flex-direction:column;gap:2.2mm;padding:6.4mm 5.5mm 8.4mm 11mm;display:flex}.cv-a4-sec{-moz-column-break-inside:avoid;break-inside:avoid}.cv-a4-side .cv-a4-sec{background:0 0;border:0;border-radius:0;padding:0}.cv-a4-side .cv-a4-sec+.cv-a4-sec{border-top:1px solid #ffffff0e;padding-top:2.1mm}.cv-a4-main .cv-a4-sec{background:0 0;border:0;border-radius:0;padding:0}.cv-a4-side .cv-a4-sec-title{letter-spacing:.025em;color:#979797;border-bottom:0;margin-bottom:1.75mm;padding-bottom:0;font-size:5.95px}.cv-a4-main .cv-a4-sec-title{letter-spacing:.1em;color:#e4e4e4;border-bottom-color:#ffffff18;margin-bottom:2.8mm;font-size:6.72px}.cv-a4-sec-title{letter-spacing:.09em;text-transform:uppercase;color:#c1c1c1;border-bottom:1px solid #ffffff14;margin:0 0 2.4mm;padding-bottom:1.2mm;font-size:6.4px;font-weight:680}.cv-a4-contact-grid{gap:1.7mm;display:grid}.cv-a4-contact-row{grid-template-columns:3.6mm minmax(0,1fr);align-items:start;gap:1.4mm;padding:0;display:grid}.cv-a4-contact-icon{color:#7d7d7d;width:3mm;height:3mm;margin-top:.3mm}.cv-a4-contact-link{color:inherit;gap:.3mm;min-width:0;text-decoration:none;display:grid}.cv-a4-contact-label{letter-spacing:.02em;text-transform:none;color:gray;font-size:5.2px;font-weight:500}.cv-a4-contact-value{color:#efefef;overflow-wrap:anywhere;font-size:6.8px;line-height:1.45}.cv-a4-skill-block{margin-bottom:1.7mm}.cv-a4-skill-block:last-child{margin-bottom:0}.cv-a4-skill-label,.cv-a4-cert-name,.cv-a4-lang-name{color:#ececec;margin:0;font-size:6.75px;font-weight:650;line-height:1.3}.cv-a4-skill-items,.cv-a4-cert-detail,.cv-a4-lang-level,.cv-a4-entry-org{color:#9d9d9d}.cv-a4-skill-tags{flex-wrap:wrap;gap:.55mm;margin-top:.8mm;display:flex}.cv-a4-skill-tag{color:#c8c8c8;background:#0c0c0c;border:1px solid #ffffff0f;border-radius:.25mm;align-items:center;padding:.34mm .8mm;font-size:4.8px;line-height:1.28;display:inline-flex}.cv-a4-skill-tag--icon{align-items:center;gap:.55mm;padding-left:.48mm;display:inline-flex}.cv-a4-skill-logo{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:3.05mm;height:3.05mm;display:block}.cv-a4-skill-logo--wide{width:4.55mm}.cv-a4-skill-logo--mysql{width:5.55mm}.cv-a4-cert-list{gap:0;display:grid}.cv-a4-cert-row{gap:.45mm;margin-bottom:0;padding:0;display:grid}.cv-a4-cert-row+.cv-a4-cert-row{border-top:1px solid #ffffff0b;margin-top:1.3mm;padding-top:1.3mm}.cv-a4-cert-head{justify-content:space-between;align-items:baseline;gap:1.2mm;display:flex}.cv-a4-cert-row--pending{border-top:1px solid #ffffff0f;margin-top:1.5mm;padding-top:1.5mm}.cv-a4-cert-year{letter-spacing:.07em;text-transform:uppercase;color:#747474;flex-shrink:0;font-size:5.1px}.cv-a4-cert-detail{align-items:baseline;gap:.8mm;font-size:5.75px;line-height:1.4;display:inline-flex}.cv-a4-cert-detail-label,.cv-a4-cert-pending-title{letter-spacing:.07em;text-transform:uppercase;color:#7f7f7f;font-family:JetBrains Mono,monospace;font-size:4.7px;font-weight:600}.cv-a4-cert-pending-title{margin-bottom:.45mm;display:inline-block}.cv-a4-cert-pending-list{border-left:1px solid #ffffff0d;grid-template-columns:1fr;gap:.8mm;margin-top:.1mm;padding-left:1.05mm;display:grid}.cv-a4-cert-pending-item{gap:.2mm;display:grid}.cv-a4-cert-pending-name{color:#cfcfcf;font-size:5.6px;line-height:1.4}.cv-a4-cert-pending-meta{letter-spacing:.04em;color:#7a7a7a;font-family:JetBrains Mono,monospace;font-size:4.7px}.cv-a4-lang-list{gap:.15mm;display:grid}.cv-a4-lang-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2.2mm;padding:1.2mm 0 1.05mm;display:grid}.cv-a4-lang-row+.cv-a4-lang-row{border-top:1px solid #ffffff0b}.cv-a4-lang-name{color:#e3e3e3;font-size:6.2px;font-weight:650;line-height:1.25}.cv-a4-lang-level{letter-spacing:.04em;text-align:right;color:#9b9b9b;border-left:1px solid #ffffff0d;min-width:14mm;padding-left:1.7mm;font-family:JetBrains Mono,monospace;font-size:5px;line-height:1.2}.cv-a4-main{grid-template-rows:auto 1fr;align-content:stretch;gap:5.5mm;min-width:0;padding:6mm 11.2mm 7mm 7.2mm;display:grid}.cv-a4-projects{gap:3.2mm;display:grid}.cv-a4-project{box-shadow:none;background:0 0;border:0;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff09;border-radius:0;padding:3.4mm 0 3mm 4.2mm;position:relative}.cv-a4-project:before{content:"";background:#ffffff1a;width:1px;height:auto;position:absolute;top:0;bottom:0;left:0}.cv-a4-project-head{gap:.95mm;display:grid}.cv-a4-project-context{letter-spacing:.115em;text-transform:uppercase;color:#828282;align-items:center;gap:1.1mm;width:fit-content;margin:0;font-size:4.95px;font-weight:600;display:inline-flex}.cv-a4-project-context:before{content:"";background:#ffffff21;width:2.55mm;height:1px}.cv-a4-project-title{letter-spacing:-.026em;word-spacing:.01em;font-kerning:normal;font-variant-ligatures:none;color:#f6f4ef;max-width:93%;margin:0;font-size:12.25px;font-weight:730;line-height:1.16}.cv-a4-project-desc{color:#c2c2c2;max-width:92%;margin:1.2mm 0 0;font-size:7.8px;line-height:1.5}.cv-a4-project-stack{border-top:1px solid #ffffff0c;flex-wrap:wrap;align-items:center;gap:0;margin-top:1.2mm;padding-top:.95mm;display:flex}.cv-a4-project-stack-item{letter-spacing:.095em;text-transform:uppercase;color:#999;font-size:4.75px;font-weight:500;position:relative}.cv-a4-project-stack-item+.cv-a4-project-stack-item{margin-left:1.55mm;padding-left:1.7mm}.cv-a4-project-stack-item+.cv-a4-project-stack-item:before{content:"";background:#fff3;border-radius:999px;width:.72mm;height:.72mm;position:absolute;top:50%;left:0;transform:translateY(-50%)}.cv-a4-project--secondary{border-top-color:#ffffff0f;border-bottom-color:#ffffff08;padding-top:3.05mm;padding-bottom:2.7mm}.cv-a4-project--secondary:before{background:#ffffff14}.cv-a4-project-head--secondary{gap:.9mm}.cv-a4-project-context--secondary{color:#7f7f7f;width:100%;line-height:1.35;display:block}.cv-a4-project-context--secondary:before{margin-right:1.1mm}.cv-a4-project-title--secondary{color:#e6e3dc;max-width:94%;font-size:10.6px;font-weight:700;line-height:1.18}.cv-a4-project-desc--secondary{color:#b7b7b7;max-width:91%;margin-top:1.55mm;font-size:7.25px;line-height:1.52}.cv-a4-project-stack-item--secondary{color:#939393}.cv-a4-project-group-head{border-bottom:1px solid #ffffff0f;gap:1.1mm;margin-bottom:2.4mm;padding-bottom:2.2mm;display:grid}.cv-a4-project-group-intro{color:#b8b8b8;max-width:94%;margin:0;font-size:7.6px;line-height:1.46}.cv-a4-project-group-list{gap:2.4mm;display:grid}.cv-a4-project-sub{border-top:1px dashed #ffffff0d;gap:.9mm;padding-top:2.1mm;display:grid}.cv-a4-project-sub:first-child{border-top:0;padding-top:0}.cv-a4-project-sub-head{flex-wrap:wrap;align-items:baseline;gap:2mm;display:flex}.cv-a4-project-sub-seq{letter-spacing:.13em;text-transform:uppercase;color:#9aa3ad;white-space:nowrap;font-size:4.95px;font-weight:700}.cv-a4-project-sub-title{letter-spacing:-.018em;color:#f1efea;margin:0;font-size:10.2px;font-weight:700;line-height:1.18}.cv-a4-project-sub-desc{color:silver;max-width:94%;margin:0;font-size:7.4px;line-height:1.5}.cv-a4-project-stack--sub{margin-top:1mm;padding-top:.8mm}.cv-a4-lower{border-top:1px solid #ffffff13;align-content:start;gap:4.2mm;padding-top:3.4mm;display:grid}.cv-a4-entries{flex-direction:column;display:flex}.cv-a4-entries--experience{gap:0}.cv-a4-entry{padding:0 0 3mm}.cv-a4-entry:last-child{padding-bottom:0}.cv-a4-entry+.cv-a4-entry{border-top:1px solid #ffffff0a;margin-top:2.8mm;padding-top:2.8mm}.cv-a4-entry-head{justify-content:space-between;align-items:flex-start;gap:4mm;display:flex}.cv-a4-entry-title-row{flex-wrap:wrap;align-items:center;gap:1mm 1.6mm;display:flex}.cv-a4-entry-title{color:#f2f2f2;margin:0;font-size:9.25px;font-weight:670;line-height:1.3}.cv-a4-badge{letter-spacing:.04em;text-transform:uppercase;color:#bababa;background:#ffffff06;border:1px solid #fff1;border-radius:.25mm;padding:.45mm 1.15mm;font-size:4.9px;font-weight:600}.cv-a4-entry-org{margin:.7mm 0 0;font-size:7.2px;line-height:1.45}.cv-a4-entry-date{letter-spacing:.08em;text-transform:uppercase;color:#878787;text-align:right;flex-shrink:0;padding-top:.4mm;font-size:5.45px}.cv-a4-entry-body{color:#cacaca;margin:1.35mm 0 0;font-size:7.75px;line-height:1.58}.cv-a4-entry-body--muted{color:#9b9b9b}.cv-a4-entry--experience-primary{border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff0a;padding:2.65mm 0 2.3mm 3.9mm;position:relative}.cv-a4-entry--experience-primary:before{content:"";background:#ffffff1a;width:1px;position:absolute;top:0;bottom:0;left:0}.cv-a4-entry--experience-primary .cv-a4-entry-head{gap:2.8mm}.cv-a4-entry--experience-primary .cv-a4-entry-title{color:#f4f2ec;font-size:9.5px;font-weight:700;line-height:1.2}.cv-a4-entry--experience-primary .cv-a4-entry-org{letter-spacing:.11em;text-transform:uppercase;color:#8a8a8a;margin-top:.8mm;font-size:5.9px;font-weight:600}.cv-a4-entry--experience-primary .cv-a4-entry-date{color:#767676;padding-top:.1mm;font-size:5.2px}.cv-a4-entry--experience-primary .cv-a4-entry-body{color:#bbb;max-width:95%;margin-top:1.3mm;font-size:7.35px;line-height:1.54}.cv-a4-entries--education{grid-template-rows:repeat(3,1fr);grid-auto-rows:1fr;align-items:stretch;gap:0;display:grid}.cv-a4-entry--education{background:linear-gradient(#ffffff05 0%,#ffffff01 78%);border-top:1px solid #ffffff0f;flex-direction:column;min-height:0;padding:1.4mm 0 1.25mm 3.3mm;display:flex;position:relative;overflow:hidden}.cv-a4-entry--education:before{content:"";background:linear-gradient(#ffffff1a,#ffffff0b);width:1px;position:absolute;top:.55mm;bottom:.55mm;left:0}.cv-a4-entry--education:after{content:"";pointer-events:none;border:1px solid #ffffff06;border-left:0;position:absolute;inset:0}.cv-a4-entry--education+.cv-a4-entry--education{border-top-color:#ffffff0b;margin-top:0;padding-top:1.4mm}.cv-a4-entry--education .cv-a4-entry-head{gap:2.2mm}.cv-a4-entry--education .cv-a4-entry-title-row{gap:.7mm 1.25mm}.cv-a4-entry--education .cv-a4-entry-title{letter-spacing:-.01em;color:#f0eeea;max-width:92%;font-size:8.2px;font-weight:690;line-height:1.14}.cv-a4-entry--education .cv-a4-entry-org{letter-spacing:.015em;text-transform:none;color:#b4b4b4;margin-top:.55mm;font-size:5.6px;font-weight:560;line-height:1.28}.cv-a4-entry--education .cv-a4-entry-date{letter-spacing:.06em;color:#8a8a8a;padding-top:.18mm;font-size:5.05px}.cv-a4-entry--education .cv-a4-entry-body{color:#a0a0a0;border-top:1px solid #ffffff08;max-width:94%;margin-top:.7mm;padding-top:.65mm;font-size:6.55px;line-height:1.34}.cv-a4-entry--education-active{background:linear-gradient(#ffffff07 0%,#ffffff02 100%);border-top-color:#ffffff15;padding-top:1.3mm}.cv-a4-entry--education-active:before{background:linear-gradient(#ffffff24,#ffffff0f)}.cv-a4-entry--education-active .cv-a4-entry-title{color:#f4f2ed;font-size:8.7px;font-weight:700}.cv-a4-entry--education-active .cv-a4-entry-org{color:#c2c2c2}.cv-a4-entry--education-active .cv-a4-entry-body{color:#aaa}.cv-a4-entry--education .cv-a4-badge{letter-spacing:.055em;color:#c3c3c3;background:#ffffff05;border-color:#fff1;padding:.32mm .9mm;font-size:4.15px}.cv-a4-stage-block{border-top:1px solid #ffffff0e;margin-top:1.4mm;padding-top:1.4mm}.cv-a4-stage-block+.cv-a4-stage-block{border-top:0;margin-top:.9mm;padding-top:.9mm}.cv-a4-stage-head{align-items:baseline;margin-bottom:1.2mm;display:flex}.cv-a4-stage-title{letter-spacing:.09em;text-transform:uppercase;color:#d0d0d0;align-items:center;gap:1.05mm;margin:0;font-size:6.95px;font-weight:620;display:inline-flex}.cv-a4-stage-title:before{content:"";background:#ffffff21;width:2.35mm;height:1px}.cv-a4-stage-list{flex-direction:column;gap:.5mm;padding-left:1.75mm;display:flex;position:relative}.cv-a4-stage-list:before{content:"";background:#fff1;width:1px;position:absolute;top:.6mm;bottom:.55mm;left:0}.cv-a4-stage-row{grid-template-columns:11.8mm minmax(0,1fr);align-items:start;gap:1.65mm;display:grid}.cv-a4-stage-date{letter-spacing:.08em;text-transform:uppercase;color:#767676;padding-top:.12mm;font-size:5.05px}.cv-a4-stage-content{min-width:0}.cv-a4-stage-role,.cv-a4-stage-company{margin:0}.cv-a4-stage-role{color:#e0e0e0;font-size:6.45px;font-weight:610;line-height:1.22}.cv-a4-stage-company{color:#949494;margin-top:.25mm;font-size:5.75px;line-height:1.2}.cv-web-shell{background:radial-gradient(circle at 15% 0,#ffffff14,#0000 24%),radial-gradient(circle at 88% 12%,#ffffff0d,#0000 22%),linear-gradient(#050505 0%,#020202 100%);min-height:100vh;position:relative;overflow:hidden}.cv-web-shell-bg{pointer-events:none;opacity:.75;background:linear-gradient(90deg,#0000 0 calc(50% - .5px),#ffffff08 50%,#0000 calc(50% + .5px) 100%),linear-gradient(#ffffff05 0,#0000 18%);position:absolute;inset:0}.cv-web-topbar{z-index:30;justify-content:space-between;align-items:center;gap:1rem;width:min(1600px,100vw - 2.5rem);margin:0 auto;padding:1.2rem 0 0;display:flex;position:sticky;top:0}.cv-web-topbar-link,.cv-web-topbar-action{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#ececec;background:#0c0c0cd1;border:1px solid #ffffff14;border-radius:.85rem;justify-content:center;align-items:center;gap:.55rem;min-height:2.85rem;padding:.78rem 1rem;font-size:.94rem;line-height:1;text-decoration:none;transition:border-color .16s,background-color .16s,transform .16s;display:inline-flex}.cv-web-topbar-action{cursor:pointer}.cv-web-topbar-link:hover,.cv-web-topbar-action:hover{background:#131313e6;border-color:#ffffff24;transform:translateY(-1px)}.cv-web-topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;display:flex}.cv-web-topbar-icon{width:1rem;height:1rem}.cv-web-layout{z-index:1;grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:2rem;width:min(1600px,100vw - 2.5rem);margin:0 auto;padding:2rem 0 4.5rem;display:grid;position:relative}.cv-web-rail{gap:1rem;display:grid;position:sticky;top:5.5rem}.cv-web-panel{background:linear-gradient(#161616e0 0%,#0a0a0aeb 100%);border:1px solid #ffffff12;border-radius:1.15rem;padding:1.15rem 1.15rem 1.2rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08,0 16px 34px #00000047}.cv-web-kicker,.cv-web-panel-title{letter-spacing:.12em;text-transform:uppercase;color:#ffffff7a;margin:0;font-family:JetBrains Mono,monospace;font-size:.68rem}.cv-web-title{letter-spacing:-.05em;color:#f3f3f3;margin:.65rem 0 0;font-size:clamp(2rem,4vw,2.7rem);line-height:.96}.cv-web-subtitle{color:#ffffffbd;margin:.55rem 0 0;font-size:1rem;line-height:1.45}.cv-web-intro,.cv-web-note{color:#ffffffa3;margin:.9rem 0 0;font-size:.92rem;line-height:1.72}.cv-web-action-grid{gap:.7rem;display:grid}.cv-web-action-card{background:#ffffff07;border:1px solid #ffffff12;border-radius:.95rem;grid-template-columns:auto 1fr;align-items:center;gap:.2rem .75rem;padding:.95rem 1rem;text-decoration:none;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.cv-web-action-card:hover{background:#ffffff0a;border-color:#ffffff1f;transform:translateY(-1px)}.cv-web-action-icon{color:#ffffffb8;width:1rem;height:1rem}.cv-web-action-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff6b;font-family:JetBrains Mono,monospace;font-size:.62rem}.cv-web-action-value{color:#ededed;grid-column:2;font-size:.94rem}.cv-web-nav-list{gap:.55rem;margin-top:.9rem;display:grid}.cv-web-nav-link{color:#ffffffc2;background:#ffffff06;border:1px solid #ffffff0d;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.78rem .9rem;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:flex}.cv-web-nav-link:hover{color:#f1f1f1;background:#ffffff0a;border-color:#ffffff1c;transform:translateY(-1px)}.cv-web-nav-icon{color:#ffffff6b;width:.9rem;height:.9rem}.cv-web-stage{background:linear-gradient(#101010b8 0%,#070707eb 100%);border:1px solid #ffffff0f;border-radius:1.5rem;padding:1.25rem;position:relative;box-shadow:inset 0 1px #ffffff08,0 22px 54px #00000057}.cv-print-pages--web{gap:0}.cv-a4--web{border-radius:1.05rem;width:min(210mm,100%);height:auto;min-height:297mm;max-height:none;overflow:hidden}.cv-a4--web .cv-a4-sec{scroll-margin-top:8rem}.cv-a4--web .cv-a4-project,.cv-a4--web .cv-a4-entry--experience-primary,.cv-a4--web .cv-a4-entry--education{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.cv-a4--web .cv-a4-project:hover,.cv-a4--web .cv-a4-entry--experience-primary:hover,.cv-a4--web .cv-a4-entry--education:hover{background:linear-gradient(#ffffff07 0%,#ffffff02 100%);transform:translateY(-1px)}.cv-a4--web .cv-a4-project:hover:before,.cv-a4--web .cv-a4-entry--experience-primary:hover:before,.cv-a4--web .cv-a4-entry--education:hover:before{background:#ffffff29}.cv-a4-web-detail{border-top:1px solid #ffffff0b;margin-top:1.45mm;padding-top:1.2mm}.cv-a4-web-detail-summary{cursor:pointer;letter-spacing:.085em;text-transform:uppercase;color:#a5a5a5;justify-content:space-between;align-items:center;gap:1rem;font-family:JetBrains Mono,monospace;font-size:4.75px;font-weight:600;list-style:none;transition:color .2s;display:flex}.cv-a4-web-detail-summary:hover{color:#e0e0e0}.cv-a4-web-detail-summary::-webkit-details-marker{display:none}.cv-a4-web-detail-summary:after{content:"+";color:#ffffffad;font-size:8px;line-height:1;transition:transform .25s cubic-bezier(.22,1,.36,1)}.cv-a4-web-detail[open] .cv-a4-web-detail-summary:after{content:"−";transform:rotate(180deg)}.cv-a4-web-detail-hint{color:#ffffff61;font-size:4.5px}.cv-a4-web-detail-body{gap:.75rem;padding-top:.72rem;animation:.25s ease-out cv-detail-open;display:grid}@keyframes cv-detail-open{0%{opacity:0;max-height:0;transform:translateY(-4px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.cv-a4-web-list{color:#c4c4c4;gap:.28rem;margin:0;padding-left:1rem;font-size:7px;line-height:1.55;display:grid}.cv-a4-web-actions{flex-wrap:wrap;gap:.55rem;display:flex}.cv-a4-web-link{color:#ededed;letter-spacing:.05em;text-transform:uppercase;background:#ffffff07;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.35rem;padding:.42rem .62rem;font-size:6px;font-weight:600;text-decoration:none;transition:border-color .18s,background-color .18s,transform .18s;display:inline-flex}.cv-a4-web-link:hover{background:#ffffff0b;border-color:#ffffff24;transform:translateY(-1px)}.cv-a4-web-link-icon{width:.72rem;height:.72rem;transition:transform .2s}.cv-a4-web-link:hover .cv-a4-web-link-icon{transform:translate(2px,-2px)}.cv-a4-web-stage-details{gap:.6rem;display:grid}.cv-a4-web-stage-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:.75rem;padding:.72rem .8rem}.cv-a4-web-stage-card-head{justify-content:space-between;gap:.75rem;margin-bottom:.4rem;display:flex}.cv-a4-web-stage-period{letter-spacing:.08em;text-transform:uppercase;color:#909090;font-family:JetBrains Mono,monospace;font-size:5px}.cv-a4-web-stage-company{letter-spacing:.06em;text-transform:uppercase;color:#a6a6a6;text-align:right;font-family:JetBrains Mono,monospace;font-size:4.95px}.cv-a4-web-stage-role{color:#ececec;margin:0;font-size:7px;font-weight:650}.cv-a4-web-stage-desc{color:#b9b9b9;margin:.35rem 0 0;font-size:6.75px;line-height:1.55}@media (width<=1180px){.cv-web-layout{grid-template-columns:1fr}.cv-web-rail{order:-1;position:static}}@media (width<=860px){.cv-web-topbar{flex-direction:column;align-items:stretch;width:calc(100vw - 1.5rem);padding-top:.8rem;position:static}.cv-web-topbar-actions{justify-content:stretch}.cv-web-topbar-action,.cv-web-topbar-link{width:100%}.cv-web-layout{gap:1rem;width:calc(100vw - 1.5rem);padding:1rem 0 2rem}.cv-web-stage{border-radius:1rem;padding:.65rem}.cv-a4--web{border-radius:.9rem;width:100%;min-height:0}.cv-a4--web .cv-a4-header{padding:2rem 1.3rem 1.35rem}.cv-a4--web .cv-a4-name{font-size:clamp(2.7rem,13vw,4.2rem)}.cv-a4--web .cv-a4-title-row{max-width:none;font-size:1rem}.cv-a4--web .cv-a4-meta-strip{margin-top:1rem;padding-top:.85rem}.cv-a4--web .cv-a4-body{grid-template-columns:1fr}.cv-a4--web .cv-a4-side{border-bottom:1px solid #ffffff14;border-right:0;padding:1.2rem 1.3rem}.cv-a4--web .cv-a4-main{gap:1.45rem;padding:1.2rem 1.3rem 1.5rem}.cv-a4--web .cv-a4-lower{gap:1.1rem;padding-top:1rem}.cv-a4--web .cv-a4-project,.cv-a4--web .cv-a4-entry--experience-primary,.cv-a4--web .cv-a4-entry--education{padding-left:1rem}.cv-a4--web .cv-a4-project-title{max-width:100%;font-size:1.05rem}.cv-a4--web .cv-a4-project-title--secondary{max-width:100%;font-size:.98rem}.cv-a4--web .cv-a4-entry-head{gap:1rem}.cv-a4--web .cv-a4-entry-title{font-size:.9rem}.cv-a4--web .cv-a4-entry--education .cv-a4-entry-title{font-size:.86rem}}@page{size:A4;margin:0}@media print{body,#root{background:#070707!important}.cv-print-screen-only,.cv-print-screen-only *{visibility:hidden!important;display:none!important}.cv-print-shell{background:0 0;height:auto;min-height:0;padding:0;overflow:visible}.cv-print-stage,.cv-print-pages{gap:0}.cv-a4{box-shadow:none;margin:0}}.cv-a4-header-main--with-photo{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8mm;display:grid}.cv-a4-header-photo{flex-shrink:0;justify-content:center;align-items:center;display:flex}.cv-a4-header-photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #ffffff29;border-radius:1.4mm;width:30mm;height:30mm;display:block;box-shadow:inset 0 0 0 1px #ffffff0a,0 4px 14px #00000073}.cv-a4{color:#f5f5f5;font-size:9.9px;line-height:1.58}.cv-a4-side .cv-a4-sec-title,.cv-a4-main .cv-a4-sec-title,.cv-a4-sec-title{letter-spacing:.11em;font-size:7.2px}.cv-a4-side .cv-a4-sec-title{color:#c4c4c4;font-size:6.6px}.cv-a4-main .cv-a4-sec-title{color:#f4f4f4;font-size:7.4px}.cv-a4-project-title{font-size:13px}.cv-a4-project-desc{color:#d4d4d4;font-size:8.6px}.cv-a4-entry-title{font-size:10.2px}.cv-a4-entry-org{font-size:8.8px}.cv-a4-entry-body,.cv-a4-entry-body--muted{font-size:8.6px}.cv-a4-skill-tag{font-size:8.5px}.cv-a4-contact-value{color:#f4f4f4;font-size:8.8px}.cv-a4-contact-label{color:#9a9a9a;font-size:6.6px}.cv-a4-skill-label{color:#efefef;font-size:8px}.cv-a4-cert-name,.cv-a4-lang-name{color:#f1f1f1;font-size:8.8px}.cv-a4-cert-year{color:#9a9a9a;font-size:6.4px}.cv-a4-cert-detail,.cv-a4-lang-level{font-size:7.6px}.cv-a4-cert-detail-value{color:#ececec}.cv-a4-cert-detail-label,.cv-a4-cert-pending-title{color:#a0a0a0;font-size:6px}.cv-a4-cert-pending-name{color:#e6e6e6;font-size:7.4px}.cv-a4-cert-pending-meta{color:#9a9a9a;font-size:6px}.cv-a4-lang-level{color:#c8c8c8}.cv-a4-stage-title{color:#e8e8e8;font-size:8px}.cv-a4-stage-date{color:#a4a4a4;font-size:6.6px}.cv-a4-stage-role{color:#f1f1f1;font-size:8.4px}.cv-a4-stage-company{color:#b8b8b8;font-size:7.4px}.cv-a4-stage-row{grid-template-columns:13.5mm minmax(0,1fr);gap:1.8mm}.cv-a4-entry--education .cv-a4-entry-title{color:#f4f2ed;font-size:9.4px}.cv-a4-entry--education-active .cv-a4-entry-title{font-size:9.8px}.cv-a4-entry--education .cv-a4-entry-org{color:#cfcfcf;font-size:7.4px}.cv-a4-entry--education .cv-a4-entry-date{color:#a4a4a4;font-size:6.4px}.cv-a4-entry--education .cv-a4-entry-body{color:silver;font-size:7.2px;line-height:1.32}.cv-a4-entry--education .cv-a4-badge{color:#d6d6d6;font-size:5.4px}.cv-a4-project-context{color:#a0a0a0;font-size:6.2px}.cv-a4-project-stack-item{color:#b8b8b8;font-size:6px}.cv-a4-meta-item{color:#cfcfcf;font-size:7.6px}.cv-a4-meta-item--emphasis{color:#f6f6f6}.cv-a4{line-height:1.5}.cv-a4-header{padding:6.1mm 10.6mm 4.1mm}.cv-a4-header-main--with-photo{gap:6mm}.cv-a4-header-photo img{width:27mm;height:27mm}.cv-a4-header-identity{gap:1.35mm}.cv-a4-name{font-size:39px;line-height:.9}.cv-a4-title-row{font-size:10.45px;line-height:1.24}.cv-a4-meta-strip{margin-top:2.8mm;padding-top:1.4mm}.cv-a4-meta-item{padding-right:2.2mm;font-size:7.05px;line-height:1.28}.cv-a4-meta-item+.cv-a4-meta-item{margin-left:2.2mm;padding-left:2.2mm}.cv-a4-side{gap:2.6mm;padding:5.6mm 5.2mm 6.5mm 10.2mm}.cv-a4-side .cv-a4-sec+.cv-a4-sec{padding-top:2.4mm}.cv-a4-main{gap:5mm;padding:5.2mm 10.6mm 8mm 6.5mm}.cv-a4-main .cv-a4-sec-title{margin-bottom:2.6mm}.cv-a4-projects{gap:2.4mm}.cv-a4-project{padding:2.7mm 0 2.3mm 3.55mm}.cv-a4-project-head{gap:.8mm}.cv-a4-project-title{font-size:12.15px;line-height:1.14}.cv-a4-project-desc{max-width:96%;margin-top:1.1mm;font-size:8.15px;line-height:1.46}.cv-a4-project-stack{margin-top:1.1mm;padding-top:.85mm}.cv-a4-project-stack-item{font-size:5.55px}.cv-a4-project--secondary{padding-top:2.9mm;padding-bottom:2.5mm}.cv-a4-project-title--secondary{font-size:9.8px;line-height:1.16}.cv-a4-project-desc--secondary{margin-top:1.1mm;font-size:7.65px;line-height:1.42}.cv-a4-project-stack--secondary{margin-top:1.05mm}.cv-a4-project-group{padding:2.9mm 0 2.5mm 3.55mm}.cv-a4-project-group-head{gap:.95mm;margin-bottom:1.9mm;padding-bottom:1.7mm}.cv-a4-project-group-intro{font-size:7.85px;line-height:1.42}.cv-a4-project-group-list{gap:1.9mm}.cv-a4-project-sub{gap:.7mm;padding-top:1.7mm}.cv-a4-project-sub-title{font-size:9.6px;line-height:1.16}.cv-a4-project-sub-desc{font-size:7.65px;line-height:1.4}.cv-a4-project-sub-seq{font-size:5.55px}.cv-a4-lower{gap:2.4mm;padding-top:1.8mm}.cv-a4-sec--education .cv-a4-sec-title{margin-bottom:1.5mm}.cv-a4-entry--experience-primary{padding:3mm 0 2.7mm 3.4mm}.cv-a4-entry--experience-primary .cv-a4-entry-body{max-width:98%;margin-top:1.2mm;line-height:1.5}.cv-a4-stage-block{margin-top:2.4mm;padding-top:2.4mm}.cv-a4-stage-block+.cv-a4-stage-block{margin-top:1.1mm;padding-top:1.1mm}.cv-a4-stage-head{margin-bottom:1.3mm}.cv-a4-stage-list{gap:1.1mm}.cv-a4-stage-row{gap:1.6mm}.cv-a4-entry--education{padding:2.3mm 0 2.1mm 3mm}.cv-a4-entry--education+.cv-a4-entry--education{padding-top:2.3mm}.cv-a4-entry--education-active{padding-top:2.5mm}.cv-a4-entry--education .cv-a4-entry-org{margin-top:.85mm}.cv-a4-entry--education .cv-a4-entry-body{max-width:98%;margin-top:1.1mm;padding-top:.85mm;line-height:1.42}.cv-print-shell--white{scrollbar-color:#a8a8a4 #dcdcd8;background:radial-gradient(circle at top,#0000000d,#0000 32%),#dcdcd8}.cv-print-shell--white::-webkit-scrollbar-track{background:#dcdcd8}.cv-print-shell--white::-webkit-scrollbar-thumb{background:#a8a8a4;border:2px solid #dcdcd8}.cv-print-shell--white::-webkit-scrollbar-thumb:hover{background:#7d7d79}.cv-print-shell--white .cv-print-toolbar-link,.cv-print-shell--white .cv-print-toolbar-button{color:#111;background:#fff;border-color:#00000029}.cv-print-shell--white .cv-print-toolbar-link:hover,.cv-print-shell--white .cv-print-toolbar-button:hover{background:#f1f1ef;border-color:#00000047}.cv-a4--white{color:#111418;background:#fff;box-shadow:0 0 0 1px #0000001a,0 32px 80px #00000038}.cv-a4--white .cv-a4-header{box-shadow:none;background:linear-gradient(#fff 0%,#f3f1ec 100%);border-bottom:1.5px solid #111418}.cv-a4--white .cv-a4-name{color:#0a0c10}.cv-a4--white .cv-a4-name-last{color:#5a5f66;font-weight:320}.cv-a4--white .cv-a4-title-row{color:#16191e;font-weight:600}.cv-a4--white .cv-a4-accroche{color:#3d4148}.cv-a4--white .cv-a4-header-photo img{border:1px solid #00000038;box-shadow:inset 0 0 0 1px #ffffffb3,0 6px 18px #00000029}.cv-a4--white .cv-a4-meta-strip{border-top:1px solid #0000002e}.cv-a4--white .cv-a4-meta-item{color:#1c1f24;font-weight:540}.cv-a4--white .cv-a4-meta-item+.cv-a4-meta-item{border-left:1px solid #00000038}.cv-a4--white .cv-a4-meta-item--emphasis{color:#0a0c10;font-weight:660}.cv-a4--white .cv-a4-kicker{color:#5a5f66}.cv-a4--white .cv-a4-status{color:#16191e;font-weight:660}.cv-a4--white .cv-a4-body{background:#fff}.cv-a4--white .cv-a4-side{color:#111418;background:#ededea;border-right:1px solid #00000024}.cv-a4--white .cv-a4-main{color:#111418;background:#fff}.cv-a4--white .cv-a4-sec-title{color:#0a0c10;border-bottom-color:#0000002e;font-weight:700}.cv-a4--white .cv-a4-side .cv-a4-sec-title{color:#2a2e35;letter-spacing:.16em;font-weight:700}.cv-a4--white .cv-a4-main .cv-a4-sec-title{color:#0a0c10;border-bottom:1.2px solid #00000038;font-weight:720}.cv-a4--white .cv-a4-side .cv-a4-sec+.cv-a4-sec{border-top:1px solid #00000024}.cv-a4--white .cv-a4-contact-icon{color:#2a2e35}.cv-a4--white .cv-a4-contact-label{color:#5a5f66;font-weight:600}.cv-a4--white .cv-a4-contact-value,.cv-a4--white .cv-a4-contact-link{color:#0a0c10;font-weight:560}.cv-a4--white .cv-a4-skill-label{color:#16191e;font-weight:660}.cv-a4--white .cv-a4-skill-tag{color:#16191e;background:#fff;border:1px solid #0003;font-weight:540;box-shadow:0 1px #0000000a}.cv-a4--white .cv-a4-skill-tag--icon{background:#fff}.cv-a4--white .cv-a4-cert-row,.cv-a4--white .cv-a4-cert-row+.cv-a4-cert-row{border-color:#00000029}.cv-a4--white .cv-a4-cert-name,.cv-a4--white .cv-a4-cert-pending-title,.cv-a4--white .cv-a4-cert-pending-name{color:#0a0c10;font-weight:660}.cv-a4--white .cv-a4-cert-year,.cv-a4--white .cv-a4-cert-detail-label,.cv-a4--white .cv-a4-cert-pending-meta{color:#5a5f66}.cv-a4--white .cv-a4-cert-detail-value{color:#0a0c10;font-weight:600}.cv-a4--white .cv-a4-lang-row+.cv-a4-lang-row{border-color:#00000024}.cv-a4--white .cv-a4-lang-name{color:#0a0c10;font-weight:620}.cv-a4--white .cv-a4-lang-level{color:#2a2e35;font-weight:540}.cv-a4--white .cv-a4-project{background:linear-gradient(#fff 0%,#fafaf8 100%);border-top:1px solid #0000002e;border-bottom:1px solid #00000014}.cv-a4--white .cv-a4-project:before{background:linear-gradient(#0a0c10 0%,#2a2e35 100%);width:1.6px}.cv-a4--white .cv-a4-project--secondary{background:linear-gradient(#fafaf8 0%,#f4f3ef 100%);border-top-color:#00000024;border-bottom-color:#00000012}.cv-a4--white .cv-a4-project--secondary:before{background:linear-gradient(#2a2e35 0%,#5a5f66 100%)}.cv-a4--white .cv-a4-project-context{color:#2a2e35;font-weight:660}.cv-a4--white .cv-a4-project-context:before{background:#0a0c10;height:1.4px}.cv-a4--white .cv-a4-project-title{color:#0a0c10}.cv-a4--white .cv-a4-project-desc{color:#1c1f24}.cv-a4--white .cv-a4-project-stack{border-top:1px solid #0000001f}.cv-a4--white .cv-a4-project-stack-item{color:#2a2e35;font-weight:600}.cv-a4--white .cv-a4-project-stack-item+.cv-a4-project-stack-item:before{background:#0a0c10}.cv-a4--white .cv-a4-project-group-head{border-bottom:1px solid #00000024}.cv-a4--white .cv-a4-project-group-intro{color:#1c1f24}.cv-a4--white .cv-a4-project-sub{border-top:1px dashed #00000024}.cv-a4--white .cv-a4-project-sub-seq{color:#2a2e35;font-weight:700}.cv-a4--white .cv-a4-project-sub-title{color:#0a0c10}.cv-a4--white .cv-a4-project-sub-desc{color:#1c1f24}.cv-a4--white .cv-a4-entry,.cv-a4--white .cv-a4-entry+.cv-a4-entry{border-color:#00000024}.cv-a4--white .cv-a4-entry-title{color:#0a0c10}.cv-a4--white .cv-a4-entry-org{color:#1c1f24;font-weight:600}.cv-a4--white .cv-a4-entry-date{color:#2a2e35;font-weight:600}.cv-a4--white .cv-a4-entry-body,.cv-a4--white .cv-a4-entry-body--muted{color:#1c1f24}.cv-a4--white .cv-a4-entry--experience-primary{background:linear-gradient(#fff 0%,#f6f5f1 100%);border-top:1px solid #0000002e;border-bottom:1px solid #00000014}.cv-a4--white .cv-a4-entry--experience-primary:before{background:linear-gradient(#0a0c10 0%,#2a2e35 100%);width:1.6px}.cv-a4--white .cv-a4-entry--experience-primary .cv-a4-entry-org{color:#2a2e35;font-weight:700}.cv-a4--white .cv-a4-entry--experience-primary .cv-a4-entry-date{color:#2a2e35}.cv-a4--white .cv-a4-entry--experience-primary .cv-a4-entry-body{color:#1c1f24}.cv-a4--white .cv-a4-entry--education{background:linear-gradient(#fafaf8 0%,#f4f3ef 100%);border-top:1px solid #00000029}.cv-a4--white .cv-a4-entry--education:before{background:linear-gradient(#0a0c10 0%,#5a5f66 100%);width:1.4px}.cv-a4--white .cv-a4-entry--education:after{border:1px solid #00000014;border-left:0}.cv-a4--white .cv-a4-entry--education+.cv-a4-entry--education{border-top-color:#00000024}.cv-a4--white .cv-a4-entry--education .cv-a4-entry-title{color:#0a0c10}.cv-a4--white .cv-a4-entry--education .cv-a4-entry-org{color:#2a2e35;font-weight:620}.cv-a4--white .cv-a4-entry--education .cv-a4-entry-date{color:#2a2e35}.cv-a4--white .cv-a4-entry--education .cv-a4-entry-body{color:#1c1f24}.cv-a4--white .cv-a4-badge{color:#fff;background:#0a0c10;border-color:#0a0c10;font-weight:660}.cv-a4--white .cv-a4-stage-block{border-top:1px solid #0000002e}.cv-a4--white .cv-a4-stage-title{color:#0a0c10;font-weight:720}.cv-a4--white .cv-a4-stage-title:before{background:#0a0c10}.cv-a4--white .cv-a4-stage-list:before{background:#0000002e}.cv-a4--white .cv-a4-stage-date{color:#2a2e35;font-weight:600}.cv-a4--white .cv-a4-stage-role{color:#0a0c10;font-weight:660}.cv-a4--white .cv-a4-stage-company{color:#2a2e35;font-weight:540}.cv-a4--white .cv-a4-lower{border-top:1.2px solid #00000038}@media print{.cv-print-shell--white{background:#fff}}.about-portrait__link{color:hsl(var(--muted-foreground) / .78);cursor:pointer;outline:none;text-decoration:none;transition:color .35s;position:relative}.about-portrait__link:hover,.about-portrait__link:focus-visible{color:hsl(var(--foreground))}.about-portrait__link:focus-visible{outline:1px solid hsl(var(--foreground) / .4);outline-offset:4px;border-radius:2px}.about-portrait__caption-text{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:2px;transition:background-size .45s;display:inline-block;position:relative}.about-portrait__link:hover .about-portrait__caption-text,.about-portrait__link:focus-visible .about-portrait__caption-text{background-size:100% 1px}.about-portrait__arrow{opacity:.55;flex-shrink:0;width:10px;height:10px;transition:transform .4s,opacity .4s;transform:translate(0)}.about-portrait__link:hover .about-portrait__arrow,.about-portrait__link:focus-visible .about-portrait__arrow{opacity:1;transform:translate(2px,-2px)}.about-portrait__link{position:relative}.about-portrait__tooltip{letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--background));background:hsl(var(--foreground) / .94);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:5;border-radius:3px;align-items:center;gap:6px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;transition:opacity .25s,transform .25s,visibility 0s linear .25s;display:inline-flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);box-shadow:0 8px 24px -12px #00000073}.about-portrait__tooltip:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid hsl(var(--foreground) / .94);width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.about-portrait__tooltip-icon{flex-shrink:0;width:10px;height:10px}.about-portrait__link:hover .about-portrait__tooltip,.about-portrait__link:focus-visible .about-portrait__tooltip{opacity:1;visibility:visible;transition:opacity .25s .15s,transform .3s .15s,visibility linear;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.about-portrait__tooltip{transition:opacity .15s linear,visibility 0s linear .15s;transform:translate(-50%)}.about-portrait__link:hover .about-portrait__tooltip,.about-portrait__link:focus-visible .about-portrait__tooltip{transition:opacity .15s linear,visibility linear}}.about-portrait__caption-name{color:hsl(var(--foreground) / .85);letter-spacing:-.01em;font-weight:500}.about-portrait__caption-sep{color:hsl(var(--muted-foreground) / .4);margin:0 .5em;font-weight:400;display:inline-block}.about-portrait__caption-network{text-transform:uppercase;letter-spacing:.18em;color:hsl(var(--muted-foreground) / .7);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78em;font-weight:400}.about-portrait__link:hover .about-portrait__caption-name,.about-portrait__link:focus-visible .about-portrait__caption-name{color:hsl(var(--foreground))}.about-portrait__link:hover .about-portrait__caption-network,.about-portrait__link:focus-visible .about-portrait__caption-network{color:hsl(var(--foreground) / .85)}.cv-version-toggle{align-items:center;gap:.6rem;display:inline-flex}.cv-version-toggle-label{letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--muted-foreground) / .7);font-size:.7rem;font-weight:500}.cv-version-toggle-group{border:1px solid hsl(var(--border));background:hsl(var(--background) / .6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.45rem;display:inline-flex;overflow:hidden}.cv-version-toggle-btn{appearance:none;color:hsl(var(--muted-foreground));letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:none;min-height:2.25rem;padding:.45rem .85rem;font-size:.78rem;font-weight:500;transition:background-color .16s,color .16s}.cv-version-toggle-btn+.cv-version-toggle-btn{border-left:1px solid hsl(var(--border))}.cv-version-toggle-btn:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.cv-version-toggle-btn--active{color:#55e9f6;background:#0ddff226}.cv-version-toggle-btn--active:hover{color:#6eecf7;background:#0ddff238}.cv-version-toggle--compact .cv-version-toggle-btn{padding:.4rem .7rem;font-size:.72rem}.cv-a4-generic-accroche{margin-top:2.6mm}.cv-a4-generic-contact-grid{gap:1.4mm;display:grid}.cv-a4-generic-contact-row{grid-template-columns:3.6mm minmax(0,1fr);align-items:start;gap:1.4mm;display:grid}.cv-a4-generic-contact-icon{color:#cfcfcf;width:2.7mm;height:2.7mm;margin-top:.3mm}.cv-a4-generic-contact-link{color:inherit;gap:.25mm;min-width:0;text-decoration:none;display:grid}.cv-a4-generic-contact-label{letter-spacing:.05em;text-transform:uppercase;color:#888;font-size:5.3px;font-weight:500}.cv-a4-generic-contact-value{color:#ebebeb;overflow-wrap:anywhere;font-size:7.2px;line-height:1.4}.cv-a4-generic-skill-groups{flex-direction:column;gap:1.6mm;display:flex}.cv-a4-generic-skill-group-title{letter-spacing:.06em;text-transform:uppercase;color:#d4d4d4;margin:0 0 .9mm;font-size:6.2px;font-weight:650}.cv-a4-generic-cert-list{flex-direction:column;gap:1.3mm;display:flex}.cv-a4-generic-cert-row{flex-direction:column;gap:.3mm;display:flex}.cv-a4-generic-cert-head{justify-content:space-between;align-items:baseline;gap:1mm;display:flex}.cv-a4-generic-cert-name{color:#ebebeb;font-size:7.4px;font-weight:620}.cv-a4-generic-cert-year{color:#888;font-family:JetBrains Mono,monospace;font-size:5.6px}.cv-a4-generic-cert-detail{color:#9b9b9b;font-size:6.4px}.cv-a4-generic-lang-list{flex-direction:column;gap:1.4mm;display:flex}.cv-a4-generic-lang-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8mm 1.4mm;display:grid}.cv-a4-generic-lang-name{color:#ebebeb;font-size:7.2px;font-weight:600}.cv-a4-generic-lang-level{color:#9b9b9b;font-family:JetBrains Mono,monospace;font-size:5.6px}.cv-a4-generic-lang-bar-wrap{background:#ffffff12;border-radius:999px;grid-column:1/-1;height:.65mm;overflow:hidden}.cv-a4-generic-lang-bar{background:linear-gradient(90deg,#25e2f4,#86eff9);border-radius:999px;height:100%}.cv-a4-generic-entry-contract{color:#888;font-style:italic}.cv-a4-generic-edu-list{flex-direction:column;gap:1.6mm;display:flex}.cv-a4-generic-edu-item{border-left:1px solid #ffffff14;flex-direction:column;gap:.4mm;padding-left:2.2mm;display:flex}.cv-a4-generic-edu-item--active{border-left-color:#25e2f4}.cv-a4-generic-edu-head{justify-content:space-between;align-items:baseline;gap:1.2mm;display:flex}.cv-a4-generic-edu-diploma{color:#ebebeb;font-size:7.6px;font-weight:640}.cv-a4-generic-edu-meta{color:#9b9b9b;justify-content:space-between;gap:1.2mm;font-size:6.4px;display:flex}.cv-a4-generic-edu-year{color:#888;font-family:JetBrains Mono,monospace;font-size:5.8px}.cv-a4-generic-bottom-grid{grid-template-columns:1.4fr 1fr;gap:5mm;margin-top:4mm;display:grid}.cv-a4-generic-bottom-grid--single{grid-template-columns:1fr}.cv-a4-generic-projects-list{flex-direction:column;gap:2.4mm;display:flex}.cv-a4-generic-project-head{justify-content:space-between;align-items:baseline;gap:1.2mm;display:flex}.cv-a4-generic-project-title{color:#ebebeb;margin:0;font-size:8px;font-weight:650}.cv-a4-generic-project-date{color:#888;font-family:JetBrains Mono,monospace;font-size:5.8px}.cv-a4-generic-project-context{letter-spacing:.05em;text-transform:uppercase;color:#9b9b9b;margin-top:.4mm;font-family:JetBrains Mono,monospace;font-size:5.6px;display:block}.cv-a4-generic-project-desc{color:#b9b9b9;margin:.6mm 0 0;font-size:6.8px;line-height:1.45}.cv-a4-company-logo{-o-object-fit:contain;object-fit:contain;background:#f7f7f7;border:.5px solid #e0e0e0;border-radius:1.2mm;flex-shrink:0;width:7.5mm;height:7.5mm;padding:.6mm}.cv-a4-company-logo--sm{width:5.5mm;height:5.5mm;padding:.4mm}.cv-a4-entry-head-left{align-items:center;gap:2.5mm;min-width:0;display:flex}.cv-a4-company-logo-stack{flex-shrink:0;align-items:center;gap:1mm;display:flex}.cv-a4:not(.cv-a4--white) .cv-a4-company-logo{background:#ffffffeb;border-color:#ffffff2e}.cv-a4-generic-other-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.4mm 3mm;display:grid}.cv-a4-generic-other-card{background:#ffffff06;border:.4px solid #ffffff12;border-radius:1.4mm;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2mm;padding:2mm 2.2mm;display:grid}.cv-a4-generic-other-content{flex-direction:column;gap:.4mm;min-width:0;display:flex}.cv-a4-generic-other-head{justify-content:space-between;align-items:baseline;gap:1.5mm;display:flex}.cv-a4-generic-other-role{color:#ececec;margin:0;font-size:6.6px;font-weight:640;line-height:1.2}.cv-a4-generic-other-date{letter-spacing:.06em;text-transform:uppercase;color:#7a7a7a;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:5.2px}.cv-a4-generic-other-company{letter-spacing:.04em;text-transform:uppercase;color:#b0b0b0;margin:0;font-size:5.7px;font-weight:600}.cv-a4-generic-other-summary{color:#8d8d8d;margin:.3mm 0 0;font-size:5.95px;line-height:1.35}.cv-a4--white .cv-a4-generic-contact-icon{color:#2a2e35}.cv-a4--white .cv-a4-generic-contact-label{color:#5a5f66;font-weight:600}.cv-a4--white .cv-a4-generic-contact-value,.cv-a4--white .cv-a4-generic-contact-link{color:#0a0c10;font-weight:560}.cv-a4--white .cv-a4-generic-skill-group-title{color:#16191e;font-weight:660}.cv-a4--white .cv-a4-generic-cert-name{color:#0a0c10;font-weight:660}.cv-a4--white .cv-a4-generic-cert-year,.cv-a4--white .cv-a4-generic-cert-detail,.cv-a4--white .cv-a4-generic-entry-contract{color:#5a5f66}.cv-a4--white .cv-a4-generic-lang-name{color:#0a0c10;font-weight:620}.cv-a4--white .cv-a4-generic-lang-level{color:#2a2e35;font-weight:540}.cv-a4--white .cv-a4-generic-lang-bar-wrap{background:#00000024}.cv-a4--white .cv-a4-generic-edu-item{border-left-color:#00000029}.cv-a4--white .cv-a4-generic-edu-item--active{border-left-color:#0aaab8}.cv-a4--white .cv-a4-generic-edu-diploma{color:#0a0c10;font-weight:660}.cv-a4--white .cv-a4-generic-edu-meta,.cv-a4--white .cv-a4-generic-edu-year{color:#5a5f66}.cv-a4--white .cv-a4-generic-project-title{color:#0a0c10;font-weight:660}.cv-a4--white .cv-a4-generic-project-date,.cv-a4--white .cv-a4-generic-project-context{color:#5a5f66}.cv-a4--white .cv-a4-generic-project-desc{color:#3d4148}.cv-a4--white .cv-a4-generic-other-card{background:#fafafa;border-color:#e5e5e5}.cv-a4--white .cv-a4-generic-other-role{color:#1a1a1a}.cv-a4--white .cv-a4-generic-other-company{color:#444}.cv-a4--white .cv-a4-generic-other-summary{color:#555}.cv-a4--white .cv-a4-generic-other-date{color:#777}.cv-a4-entry--secondary{margin-top:0}.cv-a4-entry--secondary .cv-a4-entry-body{gap:2px;margin-top:4px}.cv-a4-entry--secondary .cv-a4-entry-body li{line-height:1.35}.cv-a4-entry--secondary .cv-a4-entry-title{font-size:.95em}.cv-a4-entry--secondary .cv-a4-generic-entry-contract{opacity:.85}.cv-a4-generic-qualities-line{color:#e6ebf5c7;margin-top:4px;font-size:10.5px;font-style:italic;line-height:1.45}.cv-a4--white .cv-a4-generic-qualities-line{color:#4a4a4a}.cv-a4-generic-lang-list--text{flex-direction:column;gap:3px;display:flex}.cv-a4-generic-lang-text-row{justify-content:space-between;align-items:baseline;gap:10px;font-size:11.5px;line-height:1.4;display:flex}.cv-a4-generic-lang-text-row .cv-a4-generic-lang-name{font-weight:600}.cv-a4-generic-lang-text-row .cv-a4-generic-lang-level{color:#dce1ebb8;font-size:11px}.cv-a4--white .cv-a4-generic-lang-text-row .cv-a4-generic-lang-level{color:#555}.cv-a4-generic-edu-item--highlight{border-left:2px solid #2bdeeebf;padding-left:10px;position:relative}.cv-a4-generic-edu-item--highlight .cv-a4-generic-edu-diploma{font-weight:700}.cv-a4--white .cv-a4-generic-edu-item--highlight{border-left-color:#1f7eadd9}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-0:before{content:var(--tw-content);left:0}.before\:text-muted-foreground\/25:before{content:var(--tw-content);color:hsl(var(--muted-foreground) / .25)}.before\:text-muted-foreground\/30:before{content:var(--tw-content);color:hsl(var(--muted-foreground) / .3)}.before\:content-\[\'–\'\]:before{--tw-content:"–";content:var(--tw-content)}.first\:pt-0:first-child{padding-top:0}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-border\/25:hover{border-color:hsl(var(--border) / .25)}.hover\:border-foreground\/15:hover{border-color:hsl(var(--foreground) / .15)}.hover\:border-foreground\/20:hover{border-color:hsl(var(--foreground) / .2)}.hover\:border-foreground\/25:hover{border-color:hsl(var(--foreground) / .25)}.hover\:border-foreground\/60:hover{border-color:hsl(var(--foreground) / .6)}.hover\:bg-card\/30:hover{background-color:hsl(var(--card) / .3)}.hover\:bg-card\/50:hover{background-color:hsl(var(--card) / .5)}.hover\:bg-foreground\/90:hover{background-color:hsl(var(--foreground) / .9)}.hover\:bg-primary\/\[0\.1\]:hover{background-color:hsl(var(--primary) / .1)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground\/70:hover{color:hsl(var(--muted-foreground) / .7)}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-\[-2px\]{--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-x-100{--tw-scale-x:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group:hover .group-hover\:text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.group:hover .group-hover\:text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-40{opacity:.4}.group:hover .group-hover\:opacity-50{opacity:.5}.group:hover .group-hover\:opacity-80{opacity:.8}@media (width>=640px){.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:mb-10{margin-bottom:2.5rem}.sm\:mt-14{margin-top:3.5rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mt-8{margin-top:2rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:w-\[200px\]{width:200px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pl-9{padding-left:2.25rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-\[11px\]{font-size:11px}.sm\:text-\[12rem\]{font-size:12rem}.sm\:text-\[7rem\]{font-size:7rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:tracking-\[0\.22em\]{letter-spacing:.22em}}@media (width>=768px){.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.md\:gap-14{gap:3.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (width>=1024px){.lg\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:mb-7{margin-bottom:1.75rem}.lg\:mb-9{margin-bottom:2.25rem}.lg\:ml-\[calc\(5rem\+1\.5rem\)\]{margin-left:6.5rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-12{margin-top:3rem}.lg\:mt-16{margin-top:4rem}.lg\:mt-5{margin-top:1.25rem}.lg\:mt-7{margin-top:1.75rem}.lg\:block{display:block}.lg\:w-20{width:5rem}.lg\:max-w-6xl{max-width:72rem}.lg\:max-w-\[52rem\]{max-width:52rem}.lg\:max-w-\[57ch\]{max-width:57ch}.lg\:max-w-\[58ch\]{max-width:58ch}.lg\:max-w-\[66ch\]{max-width:66ch}.lg\:grid-cols-\[minmax\(0\,1\.15fr\)_220px\]{grid-template-columns:minmax(0,1.15fr) 220px}.lg\:gap-10{gap:2.5rem}.lg\:gap-12{gap:3rem}.lg\:gap-6{gap:1.5rem}.lg\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.lg\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.lg\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.lg\:rounded-lg{border-radius:var(--radius)}.lg\:rounded-xl{border-radius:.75rem}.lg\:border{border-width:1px}.lg\:border-white\/\[0\.06\]{border-color:#ffffff0f}.lg\:border-white\/\[0\.08\]{border-color:#ffffff14}.lg\:bg-white\/\[0\.015\]{background-color:#ffffff04}.lg\:bg-white\/\[0\.018\],.lg\:bg-white\/\[0\.02\]{background-color:#ffffff05}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pl-11{padding-left:2.75rem}.lg\:pl-7{padding-left:1.75rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-\[0\.95rem\]{font-size:.95rem}.lg\:text-\[0\.98rem\]{font-size:.98rem}.lg\:text-\[0\.9rem\]{font-size:.9rem}.lg\:text-\[1\.02rem\]{font-size:1.02rem}.lg\:text-\[1\.04rem\]{font-size:1.04rem}.lg\:text-\[1\.05rem\]{font-size:1.05rem}.lg\:text-\[1\.08rem\]{font-size:1.08rem}.lg\:text-\[1\.12rem\]{font-size:1.12rem}.lg\:text-\[1\.15rem\]{font-size:1.15rem}.lg\:text-\[1\.22rem\]{font-size:1.22rem}.lg\:text-\[1\.2rem\]{font-size:1.2rem}.lg\:text-\[1\.35rem\]{font-size:1.35rem}.lg\:text-\[1\.45rem\]{font-size:1.45rem}.lg\:text-\[1\.65rem\]{font-size:1.65rem}.lg\:text-\[1\.9rem\]{font-size:1.9rem}.lg\:text-\[10px\]{font-size:10px}.lg\:text-\[11px\]{font-size:11px}.lg\:text-\[12px\]{font-size:12px}.lg\:text-\[13px\]{font-size:13px}.lg\:text-\[14px\]{font-size:14px}.lg\:text-\[15px\]{font-size:15px}.lg\:text-\[16px\]{font-size:16px}.lg\:text-\[1rem\]{font-size:1rem}.lg\:text-\[6rem\]{font-size:6rem}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:leading-7{line-height:1.75rem}.lg\:leading-\[1\.95\]{line-height:1.95}.lg\:text-foreground\/40{color:hsl(var(--foreground) / .4)}.lg\:text-foreground\/60{color:hsl(var(--foreground) / .6)}.lg\:text-foreground\/75{color:hsl(var(--foreground) / .75)}.lg\:text-foreground\/\[0\.82\]{color:hsl(var(--foreground) / .82)}.lg\:text-foreground\/\[0\.94\]{color:hsl(var(--foreground) / .94)}.lg\:text-foreground\/\[0\.96\]{color:hsl(var(--foreground) / .96)}.lg\:text-foreground\/\[0\.9\]{color:hsl(var(--foreground) / .9)}.lg\:text-muted-foreground\/\[0\.34\]{color:hsl(var(--muted-foreground) / .34)}.lg\:text-muted-foreground\/\[0\.46\]{color:hsl(var(--muted-foreground) / .46)}.lg\:text-muted-foreground\/\[0\.48\]{color:hsl(var(--muted-foreground) / .48)}.lg\:text-muted-foreground\/\[0\.52\]{color:hsl(var(--muted-foreground) / .52)}.lg\:text-muted-foreground\/\[0\.54\]{color:hsl(var(--muted-foreground) / .54)}.lg\:text-muted-foreground\/\[0\.55\]{color:hsl(var(--muted-foreground) / .55)}.lg\:text-muted-foreground\/\[0\.56\]{color:hsl(var(--muted-foreground) / .56)}.lg\:text-muted-foreground\/\[0\.58\]{color:hsl(var(--muted-foreground) / .58)}.lg\:text-muted-foreground\/\[0\.5\]{color:hsl(var(--muted-foreground) / .5)}.lg\:text-muted-foreground\/\[0\.66\]{color:hsl(var(--muted-foreground) / .66)}.lg\:text-muted-foreground\/\[0\.68\]{color:hsl(var(--muted-foreground) / .68)}.lg\:text-muted-foreground\/\[0\.6\]{color:hsl(var(--muted-foreground) / .6)}.lg\:text-muted-foreground\/\[0\.72\]{color:hsl(var(--muted-foreground) / .72)}.lg\:text-muted-foreground\/\[0\.74\]{color:hsl(var(--muted-foreground) / .74)}.lg\:text-muted-foreground\/\[0\.75\]{color:hsl(var(--muted-foreground) / .75)}.lg\:text-muted-foreground\/\[0\.78\]{color:hsl(var(--muted-foreground) / .78)}.lg\:text-muted-foreground\/\[0\.7\]{color:hsl(var(--muted-foreground) / .7)}.lg\:text-muted-foreground\/\[0\.82\]{color:hsl(var(--muted-foreground) / .82)}.lg\:text-muted-foreground\/\[0\.84\]{color:hsl(var(--muted-foreground) / .84)}.lg\:text-muted-foreground\/\[0\.88\]{color:hsl(var(--muted-foreground) / .88)}.lg\:text-muted-foreground\/\[0\.8\]{color:hsl(var(--muted-foreground) / .8)}.lg\:text-muted-foreground\/\[0\.9\]{color:hsl(var(--muted-foreground) / .9)}.lg\:before\:text-muted-foreground\/\[0\.42\]:before{content:var(--tw-content);color:hsl(var(--muted-foreground) / .42)}.lg\:hover\:border-white\/\[0\.1\]:hover{border-color:#ffffff1a}.lg\:hover\:bg-white\/\[0\.015\]:hover{background-color:#ffffff04}.lg\:hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.lg\:hover\:text-muted-foreground\/\[0\.85\]:hover{color:hsl(var(--muted-foreground) / .85)}}@media (width>=1280px){.xl\:w-\[220px\]{width:220px}.xl\:text-\[6\.8rem\]{font-size:6.8rem}}.\[\&_strong\]\:font-medium strong{font-weight:500}.\[\&_strong\]\:text-foreground strong{color:hsl(var(--foreground))}
