@font-face{font-family:Farabee Regular;src:url(/assets/Farabee_Regular-FUkYzSYX.woff2) format("woff2"),url(/assets/Farabee_Regular-Bo9t-CAb.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #121212;--text: #f3f3f5;--muted: #c7c7cc;--accent: #e53935;--motion-fast: .2s;--motion-base: .24s;--motion-slow: .56s;--motion-page: .88s;--motion-reveal: .56s;--motion-reveal-transform: .62s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decel: cubic-bezier(.16, 1, .3, 1);--ease-emphasized: cubic-bezier(.22, 1, .36, 1);--fx-light-0: rgba(255, 255, 255, .18);--fx-light-1: rgba(229, 57, 53, .14);--glass-bg: rgba(16, 16, 18, .7);--glass-border-color: rgba(255, 255, 255, .18);--glass-blur: blur(8px) saturate(1.08);--glass-surface-bg: rgba(24, 24, 28, .62);--glass-surface-border: rgba(255, 255, 255, .16);--glass-hover-bg: rgba(42, 42, 48, .56);--glass-hover-border: rgba(255, 255, 255, .28);--glass-highlight: rgba(255, 255, 255, .32);--liquid-edge: rgba(255, 255, 255, .25);--glass: var(--glass-surface-bg);--glass-border: var(--glass-surface-border);--radius: 18px;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--gap-compact: 12px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--gap-grid: var(--space-5);--gap-stack: var(--space-5);--gap-section-y: clamp(40px, 6vw, 72px);--header-h: 64px;--hero-gap: 80px;--container-max: 100%;--container-pad: clamp(16px, 5vw, 32px);--vw: 100dvw;--vh: 100dvh;--media-h-vw: 10;--media-h: calc(var(--media-h-vw) * 1vw);--media-max-h: 80vh;--media-max-w: 90vw;--noise-size: 300px;--fx-opacity: .35;--noise-inset-top: 0px;--noise-inset-bottom: 0px;--modal-gap: 24px;--z-header: 10;--z-sticky: 20;--z-overlay: 30;--z-drawer: 40;--z-popover: 50;--z-modal: 60;--z-toast: 10000}html.overlay-open{--glass-blur: none;--glass: transparent;--glass-border: transparent}:root{--ui-breath-alpha: .04;--ui-breath-glow: 12px}:root{--modal-gap: var(--modal-gap, 16px);--modal-offset-top: 0px;--modal-offset-bottom: 0px;--modal-pad-top: 12px;--modal-pad-bottom: 12px;--modal-pad-side: 12px}:root{--video-bg: #000}@supports (color: color-mix(in srgb,white,black)){:root{--glass: color-mix(in srgb, var(--glass-surface-bg) 96%, var(--fx-light-0) 4%);--glass-border: color-mix(in srgb, var(--glass-surface-border) 90%, var(--fx-light-0) 10%);--glass-border-color: color-mix(in srgb, var(--glass-border-color) 92%, var(--fx-light-0) 8%);--glass-hover-bg: color-mix(in srgb, var(--glass-hover-bg) 96%, var(--fx-light-0) 4%);--glass-hover-border: color-mix(in srgb, var(--glass-hover-border) 90%, var(--fx-light-0) 10%)}}@supports (height: 100svh){:root{--vh: 100svh}}@supports not (height: 100svh){:root{--vh: 100vh}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){:root{--glass-bg: rgba(16, 16, 18, .78);--glass-surface-bg: rgba(30, 30, 34, .72);--glass-hover-bg: rgba(42, 42, 48, .78)}}@media(min-width:481px){:root{--noise-inset-top: var(--header-h)}}@media(max-width:900px){:root{--noise-inset-bottom: calc(var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom, 0px))}}@media(max-width:480px){:root{--noise-inset-top: 0px;--noise-inset-bottom: calc( var(--header-h, 0px) + var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom, 0px) )}}@media(min-width:360px){:root{--container-max: 100%}}@media(min-width:480px){:root{--container-max: 600px}}@media(min-width:768px){:root{--container-max: 820px}}@media(min-width:900px){:root{--container-max: 1120px}}@media(min-width:1440px){:root{--container-max: 1280px}}@media(min-width:768px){:root{--noise-size: 360px}}@media(min-width:1440px){:root{--noise-size: 420px}}@media(max-width:900px){:root{--media-h-vw: 26;--media-h: calc(var(--media-h-vw) * 1vw)}}@media(max-width:600px){:root{--media-h-vw: 28;--media-h: calc(var(--media-h-vw) * 1vw)}}@media(max-width:480px){:root{--media-h-vw: 32;--media-h: calc(var(--media-h-vw) * 1vw)}}@media(max-width:900px){:root{--bottom-nav-h: 64px}}*{box-sizing:border-box}html{margin:0;padding:0;scroll-behavior:smooth}body{margin:0;padding:0}#root,html,body{min-height:100%}html,body{overscroll-behavior-y:contain}html{height:auto;min-height:100%}body{min-height:100%;overflow-y:auto}body{background-color:var(--bg);color:var(--text);font-family:Farabee Regular,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Noto Sans,sans-serif;line-height:1.55}.app-layout{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}main#content{flex:1 0 auto;display:flex;flex-direction:column}.muted{color:var(--muted)}p{color:var(--muted);margin:0 0 12px}.subtitle{font-size:clamp(1px,2vw,30px);color:var(--muted)}.footer{padding:22px 0;margin-top:var(--gap-compact);color:var(--muted);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border)}.footer .row{display:flex;justify-content:space-between;align-items:center}h1{line-height:1.2;margin:0 0 16px;font-size:clamp(35px,5vw,70px);font-weight:900}h2{line-height:1.2;margin:0 0 16px;font-size:clamp(20px,4vw,40px);font-weight:600;text-align:center}h3{line-height:1.2;margin:0 0 16px;font-size:clamp(18px,3.2vw,34px)}h4{line-height:1.2;margin:0 0 10px;font-size:clamp(15px,2.5vw,30px);font-weight:400}h2.title-with-icon{display:flex!important;justify-content:center;align-items:center;text-align:center;gap:.2em;margin-bottom:var(--gap-stack)}.title-with-icon .title-icon,tgs-player.title-icon{width:1em;height:1em;flex:0 0 auto;display:inline-block;vertical-align:middle;transform:translateY(.12em)}.title-with-icon{display:inline-flex;align-items:center;gap:.25em}.title-with-icon{display:inline-flex;align-items:center;gap:.2em;line-height:1.1}.title-icon{height:1em;width:1em;object-fit:cover;vertical-align:middle;flex:0 0 auto;transform:translateY(.12em)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:none;padding:0;color:inherit;cursor:pointer}video{max-width:100%;width:100%;height:auto!important;display:block;background:var(--video-bg);object-fit:contain!important}.video,.video-item,.video-card,.video-wrapper,.video-frame,.videos,.video-grid{position:relative;background:var(--video-bg)}.video *,.video-item *,.video-card *,.video-wrapper *,.video-frame *{max-height:none!important;overflow:visible!important}.fit-video,.no-crop video{object-fit:contain!important;width:100%!important;height:auto!important}html:before{content:"";position:fixed;inset:0;opacity:0;pointer-events:none}@media(max-width:900px){body{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}main{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}}a:focus-visible,button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent),white 25%);outline-offset:2px;border-radius:12px}.i{width:18px;height:18px;flex:0 0 auto;color:var(--accent)}.i.stroke{stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.with-icon{display:inline-flex;align-items:center;gap:8px}.fw-700{font-weight:700}.to-top .arrow{display:inline-block;width:22px;height:22px;border:1px solid rgba(255,255,255,.3);border-radius:50%}.to-top:hover .arrow{border-color:#fff}.to-top{display:inline-flex;align-items:center;gap:8px}.skeleton{display:inline-block;height:1em;border-radius:999px;background:linear-gradient(90deg,#ffffff0f,#ffffff24,#ffffff0f);background-size:180% 100%;animation:skeleton-shimmer 1.1s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:110% 0}to{background-position:-20% 0}}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:background var(--motion-base, .24s) var(--ease-standard, ease),border-color var(--motion-base, .24s) var(--ease-standard, ease),transform var(--motion-base, .24s) var(--ease-decel, ease)}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:1;background:#1010122e;z-index:0}.card.glass,.client-card.glass,.edu-card.glass,.vcard.glass,.socials-section .card.glass,.projects-section .card.glass{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass)}.glass.breath{box-shadow:var(--shadow),0 0 var(--ui-breath-glow) rgba(255,255,255,var(--ui-breath-alpha))}.glass{position:relative;overflow:hidden}.glass:after{content:"";position:absolute;inset:1px;border-radius:calc(var(--radius) - 2px);background:radial-gradient(circle at top left,color-mix(in srgb,var(--glass-highlight) 70%,transparent) 0%,transparent 55%),linear-gradient(140deg,color-mix(in srgb,var(--liquid-edge, rgba(255, 255, 255, .25)),transparent 40%) 0%,transparent 65%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity var(--motion-base, .24s) var(--ease-standard, ease),transform var(--motion-slow, .56s) var(--ease-emphasized, ease);z-index:0}.glass:hover:after,.glass:focus-within:after{opacity:.35;transform:translate3d(0,-2px,0)}.glass>*{position:relative;z-index:1;z-index:2}.glass:hover,.glass:focus-visible,.glass:focus-within{background:var(--glass-hover-bg);border-color:var(--glass-hover-border);box-shadow:0 12px 32px #00000052}.glow-hover{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform;--mx: 50%;--my: 50%;--tiltX: 0deg;--tiltY: 0deg}.glow-hover:before{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--motion-fast, .2s) var(--ease-standard, ease);background:radial-gradient(240px circle at var(--mx) var(--my),rgba(255,255,255,.22),rgba(255,255,255,.1) 22%,rgba(255,255,255,0) 62%);mix-blend-mode:screen}.glow-hover:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--motion-fast, .2s) var(--ease-standard, ease);background:linear-gradient(140deg,#ffffff1a,#fff0 38%)}.glow-hover:is(:hover,.is-hovered):before,.glow-hover:focus-visible:before,.glow-hover:focus-within:before,.glow-hover:is(:hover,.is-hovered):after,.glow-hover:focus-visible:after,.glow-hover:focus-within:after{opacity:1}.glow-hover:is(.card,.client-card,.edu-card,.vcard,.timeline-card):before{background:none;opacity:0!important}.header .contact-cta.breath,.header .read-mode-cta.breath,.floating-actions .fab-cv.breath{box-shadow:0 10px 28px #00000059,0 0 var(--ui-breath-glow) rgba(255,255,255,var(--ui-breath-alpha))}a.link-fx{position:relative;text-decoration:none;text-underline-offset:4px}a.link-fx:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;border-radius:999px;background:linear-gradient(90deg,#fff0,#fff,#fff0);transform:scaleX(0);transform-origin:50% 50%;opacity:0;transition:transform var(--motion-base, .24s) var(--ease-standard, ease),opacity var(--motion-base, .24s) var(--ease-standard, ease)}a.link-fx:hover:after,a.link-fx:focus-visible:after{transform:scaleX(1);opacity:.95}a.link-fx .arrow{display:inline-block;transition:transform var(--motion-base, .24s) var(--ease-standard, ease)}a.link-fx:hover .arrow,a.link-fx:focus-visible .arrow{transform:translate(3px)}.keyword-link.link-fx:after{display:none}.keyword-link{color:inherit;text-decoration:none;border-bottom:1px dashed var(--glass-highlight);padding-bottom:.12em;transition:border-bottom-color var(--motion-fast, .2s) var(--ease-standard, ease),border-bottom-width var(--motion-fast, .2s) var(--ease-standard, ease),text-shadow var(--motion-fast, .2s) var(--ease-standard, ease)}.keyword-link:hover,.keyword-link:focus-visible{text-decoration:none;border-bottom-style:solid;border-bottom-width:2px;border-bottom-color:var(--accent);outline:none;box-shadow:none;text-shadow:0 0 10px rgba(229,57,53,.2)}.keyword-link:focus,.keyword-link:focus-visible{outline:none;box-shadow:none}.magnetic-wrap{display:inline-flex;align-items:stretch;justify-content:center}.magnetic{--mag-x: 0px;--mag-y: 0px;translate:var(--mag-x) var(--mag-y);transition:translate .16s var(--ease-decel, ease-out);will-change:translate}@media(hover:hover)and (pointer:fine){.cta:hover{border-color:var(--glass-hover-border);background:var(--glass-hover-bg);transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.thumb.glow-hover:hover,.thumb.glow-hover:focus-within{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));filter:brightness(1.02)}.thumb.no-tilt.glow-hover:hover,.thumb.no-tilt.glow-hover:focus-within{transform:translate3d(0,-4px,0)}@media(any-hover:hover){.contact-item:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:#ffffff0d}}.custom-cursor{position:fixed;top:0;left:0;opacity:0;width:18px;height:18px;border:2px solid var(--accent);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:transform .18s ease,width .18s ease,height .18s ease,background .18s ease;z-index:1000;mix-blend-mode:blend}.custom-cursor.is-ready{opacity:.7}.custom-cursor.active{width:40px;height:40px;background:var(--accent);border-color:var(--accent)}.route-stack{position:relative;isolation:isolate;z-index:1}.route-layer--exit{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;will-change:transform,opacity}.route-layer-shift{will-change:transform}.route-layer--enter{position:relative;z-index:1;opacity:1;pointer-events:auto;will-change:transform,opacity}.route-overlay{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .35s ease;background:linear-gradient(0deg,#00000042,#00000042),radial-gradient(120% 140% at 50% 30%,#ffffff0f,#0000 58%),radial-gradient(90% 120% at 50% 60%,#ffffff09,#0000 62%);-webkit-backdrop-filter:blur(16px) saturate(1.05);backdrop-filter:blur(16px) saturate(1.05);will-change:opacity,transform}@keyframes route-overlay-drift{0%{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}to{transform:translateZ(0)}}html[data-route-phase=transitioning] .route-overlay{opacity:0;animation:route-overlay-drift 2.4s ease-in-out infinite,route-overlay-fade var(--route-total-ms, 1s) cubic-bezier(.4,0,.2,1) both}html:not([data-route-phase]) .route-overlay{opacity:0}html[data-route-phase=transitioning] .route-layer--enter{opacity:0;transform:translateZ(0);pointer-events:none}@keyframes route-enter-from-right{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes route-enter-from-left{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes route-exit-to-left{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-100%,0,0)}}@keyframes route-exit-to-right{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(100%,0,0)}}html[data-route-phase=transitioning][data-route-dir=forward] .route-layer--enter{animation:route-enter-from-right var(--route-enter-ms, .7s) cubic-bezier(.4,0,.2,1) both;animation-delay:var(--route-enter-delay-ms, .35s)}html[data-route-phase=transitioning][data-route-dir=forward] .route-layer--exit{animation:route-exit-to-left var(--route-exit-ms, .7s) ease both}html[data-route-phase=transitioning][data-route-dir=backward] .route-layer--enter{animation:route-enter-from-left var(--route-enter-ms, .7s) cubic-bezier(.4,0,.2,1) both;animation-delay:var(--route-enter-delay-ms, .35s)}html[data-route-phase=transitioning][data-route-dir=backward] .route-layer--exit{animation:route-exit-to-right var(--route-exit-ms, .7s) ease both}html.is-transitioning,html.is-transitioning body{overflow:hidden!important;overscroll-behavior:none}html.is-transitioning{overflow-anchor:none}html.is-transitioning .route-stack{padding-right:var(--scrollbar-comp, 0px);min-height:var(--route-freeze-h, 100vh)}.route-layer--exit,.route-layer--enter{z-index:3}.route-overlay{z-index:4}.reveal{opacity:0;transform:translate3d(0,16px,0);filter:blur(7px);--reveal-delay: 0ms;transition:opacity .55s ease,transform .95s ease,filter .7s ease;transition-delay:var(--reveal-delay),var(--reveal-delay),var(--reveal-delay);will-change:transform,opacity,filter}.reveal.is-revealed{opacity:1;transform:translateZ(0);filter:blur(0)}.card.glass.reveal{transition:background .2s ease,border-color .2s ease,opacity .55s ease,filter .7s ease;transition-delay:0ms,0ms,var(--reveal-delay),var(--reveal-delay);--reveal-y: 16px}.card.glass.reveal.is-revealed{transition:background .2s ease,border-color .2s ease,transform .18s ease,opacity .55s ease,filter .7s ease;transition-delay:0ms,0ms,0ms,var(--reveal-delay),var(--reveal-delay);--reveal-y: 0px}.fx-orbs{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--fx-opacity, .35);mix-blend-mode:screen;will-change:opacity;transition:opacity 3s ease;transform:translateZ(0)}html[data-route-phase=transitioning] .fx-orbs{opacity:0;transition-duration:var(--route-exit-ms, .7s)}body:before{content:"";position:fixed;top:calc(var(--noise-inset-top) - 500px);bottom:calc(var(--noise-inset-bottom) - 500px);left:-500px;right:-500px;pointer-events:none;z-index:0;transform:translateZ(0);background-image:url(/assets/noise-YhARO4YA.gif);background-repeat:repeat;background-size:var(--noise-size);opacity:.15}html[data-noise-phase=active] body:before,html[data-route-phase=transitioning] body:before{background-image:url(/assets/noise-BBgKMyA6.png)}html.modal-open body:before{background-image:none}@media(prefers-reduced-motion:reduce){body:before{background-image:url(/assets/noise-BBgKMyA6.png)}}@keyframes noise-shift{0%{transform:translateZ(0)}to{transform:translate3d(-64px,-64px,0)}}@keyframes noise-fade{0%{opacity:.12}50%{opacity:.16}to{opacity:.12}}body:after{content:"";position:fixed;top:-120vh;bottom:-120vh;left:-20vw;right:-20vw;pointer-events:none;z-index:-2;transform:translateZ(0);background:radial-gradient(160% 140% at 50% 12%,#0000,#0000001a 45%,#00000052 70%,#0000008c),linear-gradient(180deg,#0000001f,#00000094 74%,#000000db);background-repeat:no-repeat;background-size:200% 180%,100% 140%;background-position:50% -24vh,50% 0;background-attachment:fixed,fixed}.container{margin:0 auto;max-width:var(--container-max);padding-inline:var(--container-pad)}.section{scroll-margin-top:calc(var(--header-h) + 16px);padding-block:var(--gap-section-y)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap-grid)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap-grid)}.section .container>*+*{margin-top:var(--gap-stack)}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr);gap:var(--gap-grid)}}@media(max-width:480px){.grid{grid-template-columns:1fr;gap:var(--gap-grid)}}#connect .container{margin:0 auto;max-width:var(--container-max);padding-inline:var(--container-pad)}#connect{scroll-margin-top:80px;padding-top:var(--gap-compact);padding-bottom:var(--gap-compact)}@media(max-width:1024px){.cards,.grid,.projects-grid,.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap-grid)}}.grid.media-row{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;grid-template-columns:none;overflow-x:auto;gap:14px;align-items:center;padding-top:4px;margin-top:-4px;padding-bottom:4px;scroll-snap-type:x proximity}@media(min-width:900px){.grid.media-row{scrollbar-width:none;-ms-overflow-style:none}.grid.media-row::-webkit-scrollbar{height:0;display:none}}.avatar-orb{position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate}.avatar-orb:before{content:"";position:absolute;inset:-28%;border-radius:50%;background:radial-gradient(circle,#e8e8e852,#d6d6d62e,#c2c2c200 70%);filter:blur(8px);opacity:.7;z-index:0;pointer-events:none;animation:avatar-orb-breath 8s ease-in-out infinite}.avatar{width:calc(156px * var(--hero-scale));aspect-ratio:1 / 1;height:auto;border-radius:50%;overflow:hidden;border:1px solid var(--text);box-shadow:var(--shadow);background:var(--bg);flex:0 0 auto;-webkit-backdrop-filter:none;backdrop-filter:none;animation:avatar-ring-fade 12s ease-in-out infinite;position:relative;isolation:isolate;z-index:1}.hero-right .card{padding:var(--space-4);gap:var(--space-3)}.hero-left{gap:var(--space-3)}.hero-section{min-height:calc(100svh - var(--header-h, 64px));padding-top:12px;padding-bottom:0;display:flex;flex-direction:column;--hero-scale: clamp(.25, calc(100vw/1200px) , 1)}.hero-left{display:flex;flex-direction:column;gap:calc(var(--space-3) * var(--hero-scale));align-items:center}.hero-section{min-height:auto!important;padding-top:var(--hero-gap)!important;padding-bottom:0!important;margin-top:8px!important}.hero-section .container{padding-inline:10vw}.hero-section .ticker{margin-top:var(--hero-gap)!important}.hero-works-teaser{display:grid;grid-template-columns:1fr;align-items:center;margin-top:var(--space-2);position:relative}.hero-works-teaser .caption{grid-column:1;grid-row:1;justify-self:center;text-align:center;font-size:clamp(12px,1.1vw,14px);line-height:1.2;color:#fff9;z-index:1}.hero-works-teaser .btn:hover,.hero-works-teaser .btn:focus-visible{transform:translateY(-50%)}.hero-works-teaser .btn.glass:before{display:none}.hero-works-teaser .btn.glass,.hero-works-teaser .btn.glass:hover,.hero-works-teaser .btn.glass:focus-visible{box-shadow:none}.profile-text h1{margin:0;line-height:1.1;font-size:calc(65px * var(--hero-scale));white-space:nowrap;word-break:normal;overflow-wrap:normal}.hero-firstname,.hero-lastname{display:inline-block}.profile-text{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%}.hero-subtitle-row{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:calc(10px * var(--hero-scale));margin-top:calc(10px * var(--hero-scale));width:var(--hero-name-width, 100%);max-width:100%}.hero-subtitle-row .subtitle{flex:1 1 auto;min-width:0;font-size:calc(26px * var(--hero-scale));white-space:nowrap}.hero-subtitle-row .skills-cloud-caption{display:inline-flex;align-items:center;flex:0 0 auto;font-size:calc(20px * var(--hero-scale));line-height:1.2;white-space:nowrap;padding-block:0;padding-inline:.6em;transform:translate(-.5vw)}.hero-section .ticker.full-bleed{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-left:0!important;border-right:0!important;border-radius:0!important}.hero-section .ticker{margin-top:auto}.hero-section .ticker{width:100%;margin:0}.ticker-mobile{display:none}.hero-ticker-wrap{position:relative;width:100%}.hero-works-cta{display:none;position:absolute;inset:0;align-items:center;justify-content:flex-end;padding-right:clamp(10px,3.6vw,24px);z-index:2;pointer-events:none}.hero-works-cta-btn{padding:5px 8px;font-size:clamp(10px,2.8vw,12px);color:#ffffffd1;background:#ffffff14;border-color:#fff3;box-shadow:0 8px 18px #0000002e;pointer-events:auto}.hero-works-cta-btn:before{display:none}@supports (color: color-mix(in srgb,white,black)){.hero-works-cta-btn{background:color-mix(in srgb,var(--glass) 70%,rgba(255,255,255,.22) 30%)}}.hero-works-cta-icon{display:inline-flex;align-items:center;transition:transform .2s ease}@media(hover:hover)and (pointer:fine){.hero-works-cta-btn:hover .hero-works-cta-icon,.hero-works-cta-btn:focus-visible .hero-works-cta-icon{transform:translate(3px)}}.avatar.glass:before,.avatar.glass:after{display:none!important}.avatar.glass:hover,.avatar.glass:focus-visible,.avatar.glass:focus-within{background:var(--bg);border-color:var(--glass-border);box-shadow:var(--shadow)}.hero .avatar{pointer-events:none}.hero .avatar img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(max-width:480px){.title{font-size:clamp(22px,7vw,28px)}}@media(min-width:901px){.avatar-orb:before{display:none}}@media(max-width:900px){.hero{grid-template-columns:1fr;margin-top:3vw;margin-bottom:3vw}.hero-section{--hero-gap: clamp(20px, 5vw, 40px);--hero-scale: clamp(.6, calc(100vw/700px) , .9);--hero-stack-gap: clamp(10px, 3vw, 16px)}.hero-section .container{padding-inline:clamp(18px,6vw,36px)}.profile{flex-direction:column;align-items:center;gap:clamp(12px,4vw,20px)}.avatar{width:clamp(110px,30vw,170px)}.profile-text{min-width:0;width:100%;max-width:100%;align-items:center;text-align:center}.profile-text h1{font-size:clamp(32px,10vw,56px);line-height:1.05;white-space:normal;word-break:normal;overflow-wrap:normal;margin:0}.hero-subtitle-row{flex-direction:column;align-items:center;justify-content:center;width:max-content;gap:var(--hero-stack-gap);margin-top:8px}.hero-subtitle-row .subtitle{font-size:calc(clamp(16px,5vw,22px) * var(--hero-subtitle-scale, 1));white-space:nowrap;text-align:center;margin-top:0}.hero-subtitle-row .skills-cloud-caption{font-size:clamp(14px,4.2vw,18px);transform:none;justify-self:center}.hero-section .ticker{margin-top:0!important}.hero-ticker-wrap:after{content:"";position:absolute;top:0;right:0;height:100%;width:45%;pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#000)}.hero-works-cta{display:flex}.hero-ticker-wrap{margin-top:var(--hero-stack-gap)}}@media(hover:hover)and (pointer:fine){.hero-works-teaser .btn:hover,.hero-works-teaser .btn:focus-visible{transform:translateY(-50%)}}.avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}@keyframes avatar-ring-fade{0%,to{border-color:var(--glass)}50%{border-color:var(--text)}}@keyframes avatar-orb-breath{0%,to{transform:scale(.96);opacity:.55}50%{transform:scale(1.04);opacity:.85}}.hero .profile{margin:0}.profile-text{min-width:0}.hero{flex:1 1 auto;display:grid;grid-template-columns:1fr;gap:calc(24px * var(--hero-scale));place-items:center;align-items:center;min-height:auto}.profile{display:flex;align-items:center;gap:calc(36px * var(--hero-scale))}.hero-section+section{margin-top:0}.profile-text .subtitle{margin-top:calc(4px * var(--hero-scale))}.nav a{color:var(--muted);padding:8px 10px;border-radius:12px;transition:all .25s ease}.nav a:hover{color:var(--text);background:#ffffff14}.header{isolation:isolate;position:sticky!important;top:0!important;bottom:auto!important;width:100%!important;z-index:var(--z-sticky)!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border-top:1px solid var(--glass-border);border-top:0!important}html.overlay-open .header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important}html.nav-open:before{opacity:1;pointer-events:auto;background:#0a0a0c75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-overlay)}@media(max-width:480px){body{padding-bottom:var(--header-h)!important}.header{position:sticky!important;top:0!important;bottom:auto!important;background:var(--glass)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border-top:0!important;border-bottom:0!important}html.overlay-open .header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important}.nav{position:fixed!important;inset:0!important;height:100dvh!important;display:grid!important;grid-auto-flow:row!important;align-content:center!important;justify-items:center!important;gap:14px!important;padding:32px 20px!important;background:var(--glass)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;z-index:var(--z-drawer);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}.nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}.nav a{font-size:18px!important;padding:12px 16px!important}.nav a span{display:inline!important}}@media(max-width:900px){.header .inner{padding-top:16px;padding-bottom:16px;justify-content:center!important}.nav{flex-direction:column;align-items:stretch;justify-content:center;position:fixed!important;inset:0!important;height:100dvh!important;display:grid!important;grid-auto-flow:row!important;align-content:center!important;justify-items:center!important;gap:14px!important;padding:24px 20px!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;z-index:var(--z-drawer);opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important;transition:opacity .2s ease,transform .2s ease,visibility 0s .2s!important;isolation:isolate!important}.nav a{display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;width:100%!important;padding:12px 16px!important;border-radius:12px!important;background:var(--glass)!important}.nav a:active{transform:translateY(1px)!important}.nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important;transition:opacity .2s ease,transform .2s ease,visibility 0s 0s!important}body{padding-bottom:calc(var(--header-h, 64px) + env(safe-area-inset-bottom,0px))!important}.header{position:fixed!important;top:auto!important;bottom:0!important;left:0;right:0;width:100%!important;z-index:var(--z-sticky)!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border-top:0!important;border-bottom:0!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}.nav a span{display:inline!important}.footer{display:none!important}.nav-open .header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important;position:relative!important;z-index:var(--z-drawer)!important}.nav-open{overflow:hidden!important;height:100vh!important}.nav-open body{overflow:hidden!important}.header .nav{position:fixed!important;inset:0!important;height:100dvh!important;z-index:var(--z-drawer);opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important;transition:opacity .2s ease,transform .2s ease,visibility .2s step-end!important}}@media(min-width:900px){body{padding-top:var(--header-h, 64px)!important}.header{position:fixed!important;top:0!important;bottom:auto!important;left:0;right:0;width:100%!important;z-index:var(--z-sticky)!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border-bottom:1px solid var(--glass-border)!important}}@media(max-width:900px){.nav{position:fixed;inset:auto 0 0;display:grid;grid-auto-flow:row;gap:12px;padding:20px 16px calc(env(safe-area-inset-bottom) + 20px);max-height:75vh;overflow:auto;background:#0a0a0cf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -10px 30px #00000080;transform:translateY(100%);transition:transform .28s ease;z-index:var(--z-drawer)}.nav.is-open{transform:translateY(0)}.nav a{font-size:18px;padding:12px 16px;border-radius:12px;background:#ffffff0a}.nav a:active{transform:translateY(1px)}}@media(max-width:480px){body{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}.header{position:fixed;bottom:0;top:auto;width:100%;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:0;z-index:1000}.header .inner{display:flex;align-items:center;justify-content:space-around;padding:4px 8px}.nav{position:static!important;transform:none!important;height:auto!important;display:flex;flex-direction:row;justify-content:space-around;align-items:center;gap:0;background:transparent;padding:0;width:100%}.nav a{flex:1 1 auto;padding:6px 0;justify-content:center;text-align:center;font-size:0}.nav a .i{width:22px;height:22px}.nav a span{display:none}}.header .inner{display:flex;align-items:center;justify-content:center;padding:14px 0}.header>.container.inner{width:80vw;margin:0 auto}.header .nav a.active{color:#fff!important}.header .nav a.active .i,.header .nav a.active .i.stroke,.header .nav a.active svg path,.header .nav a.active svg circle{color:#fff!important;stroke:#fff!important}.nav{isolation:isolate}.nav a span{display:inline!important}.nav-open{overflow:hidden;height:100dvh}.nav-open body{overflow:hidden}.nav a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.nav a:visited,.nav a:hover,.nav a:focus{text-decoration:none}.nav{display:grid;grid-auto-flow:column;gap:16px;justify-content:center;justify-items:center;width:100%}.header .contact-cta{width:clamp(44px,5vh,56px);height:clamp(44px,5vh,56px);border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;box-shadow:0 10px 28px #00000059;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease,filter .2s ease}.header .read-mode-cta{width:clamp(44px,5vh,56px);height:clamp(44px,5vh,56px);border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:#c7c5c2;color:#3f3f3f;box-shadow:0 10px 24px #0000003d;border:1px solid #cfcfcf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease,filter .2s ease}.header .contact-cta .i,.header .contact-cta .i.stroke,.header .contact-cta svg path .header .contact-cta svg rect,.header .contact-cta svg circle{color:var(--text);stroke:currentColor}.header .read-mode-cta .i,.header .read-mode-cta .i.stroke,.header .read-mode-cta svg path,.header .read-mode-cta svg circle{color:#4d3c2a;stroke:currentColor}.header .contact-cta:hover{background:color-mix(in srgb,var(--text) 60%,transparent);border-color:var(--text);filter:brightness(1.03);transform:translateY(-1px)}.header .read-mode-cta:hover{background:color-mix(in srgb,#fcfcfc 8%,#e6e6e6);border-color:#bdbdbd;filter:brightness(1.03);transform:translateY(-1px)}.header .contact-cta:active{transform:translateY(0)}.header .read-mode-cta:active{background:color-mix(in srgb,#3f3f3f 12%,#e6e6e6);transform:translateY(0)}.header .header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px}@media(min-width:900px){.header .inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-content:stretch}.header .nav{grid-column:2;width:auto;justify-content:center}.header .header-actions{grid-column:3;justify-self:end}}@media(max-width:900px){.header .header-actions,.header .read-mode-cta,.header .contact-cta{display:none!important}}.nav-open{overflow:hidden}@supports not (height: 100dvh){.nav-open{height:100vh}}@media(hover:hover)and (pointer:fine){.btn:hover{background:var(--glass-hover-bg);transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.btn.primary{background:#e539358c;border-color:#ffffff3d;color:#fff}@supports (color: color-mix(in srgb,white,black)){.btn.primary{background:color-mix(in srgb,var(--glass) 62%,rgba(229,57,53,.6) 38%)}}@media(hover:hover)and (pointer:fine){.btn.primary:hover{filter:brightness(1.15);transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.btn{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass);box-shadow:0 10px 28px #00000038;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:relative;overflow:hidden;transition:background var(--motion-fast, .2s) var(--ease-standard, ease),border-color var(--motion-fast, .2s) var(--ease-standard, ease),transform var(--motion-fast, .2s) var(--ease-decel, ease),box-shadow var(--motion-base, .24s) var(--ease-standard, ease)}.btn:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.55;background:radial-gradient(120px circle at 22% 18%,rgba(255,255,255,.14),transparent 60%),linear-gradient(160deg,#ffffff14,#fff0 42%);mix-blend-mode:screen}@supports (color: color-mix(in srgb,white,black)){.btn:before{background:radial-gradient(120px circle at 22% 18%,color-mix(in srgb,var(--fx-light-0) 18%,transparent),transparent 60%),linear-gradient(160deg,#ffffff14,#fff0 42%)}}.btn>*{position:relative;z-index:1}.btn-contrast{border:1px solid transparent}.btn-xl{padding:clamp(14px,2.4vw,20px) clamp(55px,3vw);font-size:clamp(16px,12vw,20px);border-radius:18px}.cta{border:1px solid var(--glass-border);padding:8px 12px;border-radius:12px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:relative;overflow:hidden}.vcard{width:clamp(180px,20vw,260px);aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--shadow);position:relative;cursor:pointer;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease),background var(--motion-fast, .2s) var(--ease-standard, ease),border-color var(--motion-fast, .2s) var(--ease-standard, ease)}.kpi{text-align:right;font-size:14px;color:var(--muted)}.kpi .num{font-size:18px;color:var(--text);font-weight:700}.thumb{position:relative;width:auto;overflow:hidden;border-radius:14px;padding:var(--space-2);transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease)}.uniform-media{height:var(--media-h);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#00f;border-radius:14px;border:1px solid var(--glass-border)}.client-card .logo{width:42px;height:42px;border-radius:12px;background:#ffffff14;display:grid;place-items:center;font-weight:800;border:1px solid var(--glass-border)}.card{padding:var(--space-4);display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.card .info{display:flex;align-items:center;gap:var(--space-3)}@media(max-width:900px){.card{border-radius:16px;padding:var(--space-4);gap:var(--space-3);align-items:flex-start}.card .info{align-items:flex-start}.card .actions{gap:8px}}.card .icon{width:48px;height:48px;border-radius:14px;overflow:hidden;display:grid;place-items:center}.card .icon img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain;object-position:center center;border-radius:inherit}.card .icon tgs-player{width:100%;height:100%;display:block}.client-card .info,.review-card .info{display:flex;align-items:center;gap:12px}.card:is(:hover,.is-hovered){--tiltLift: 0px;background:var(--glass-hover-bg);border-color:var(--glass-hover-border)}.card.glow-hover{--tiltLift: 0px;transform:perspective(900px) translate3d(0,calc(var(--reveal-y, 0px) + var(--tiltLift, 0px)),0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}@media(hover:hover)and (pointer:fine){.card.glow-hover:is(:hover,.is-hovered){--tiltLift: 0px}}.thumb img{width:100%;height:auto;display:block;transition:transform .35s ease}.thumb,.thumb .uniform-media{border-radius:16px;overflow:hidden}.thumb img,.thumb video,.thumb picture>img,.thumb iframe{border-radius:16px}.thumb:hover img{transform:scale(1.04)}.thumb .label{position:absolute;left:10px;bottom:10px;padding:6px 10px;background:#00000073;border-radius:10px;font-size:14px;pointer-events:none}.grid.media-row>.thumb{scroll-snap-align:start end}.client-card:is(:hover,.is-hovered){transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:var(--glass-hover-bg);border-color:var(--glass-hover-border)}.clients-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap-grid)}.client-card{padding:16px;display:flex;align-items:center;justify-content:space-between}.play-badge{position:absolute;inset:0;display:grid;place-items:center}.play-badge:before{content:"";width:58px;height:58px;border-radius:50%;background:#00000073;border:2px solid rgba(255,255,255,.6);display:grid;place-items:center}.vcard:is(:hover,.is-hovered){transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));filter:brightness(1.05)}.vcard img{width:100%;height:100%;object-fit:contain;background:#121215}.play-badge:after{content:"";position:absolute;width:0;height:0;border-left:16px solid white;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}.vcard{width:max(180px,22.5vw)!important}.actions{display:flex;gap:10px;margin-top:10px}.uniform-media>img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media>picture{height:100%;width:auto;max-width:100%;display:block}.uniform-media>picture>img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media>video{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media>iframe{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media{border-radius:16px;overflow:hidden}.uniform-media>img,.uniform-media>video,.uniform-media>canvas,.uniform-media>iframe{border-radius:inherit;display:block}.scroll-hint.media-row-hint{display:flex;gap:0;align-items:center;justify-content:space-between;width:100%;padding-inline:10%;margin:var(--space-4) 0 0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.4}.media-row-hint .chevrons{display:flex;align-items:center;gap:0;pointer-events:auto;cursor:pointer}.media-row-hint .chevron{width:22px;height:18px;fill:none;stroke:var(--scroll-hint-color, #fff);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5;filter:var(--scroll-hint-filter, drop-shadow(0 0 9px rgba(255, 255, 255, .75)));opacity:.75}.media-row-hint .left .chevron{animation:hint-left 1.6s ease-in-out infinite}.media-row-hint .right .chevron{animation:hint-right 1.6s ease-in-out infinite}.scroll-hint.media-row-hint .chevrons.is-hidden{display:flex;visibility:hidden;pointer-events:none}.ticker.full-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0;border-right:0;border-radius:0}.ticker.glass{border-radius:0!important}.ticker-track{display:flex;align-items:center;gap:12px;width:max-content;animation:ticker-move 38s linear infinite;will-change:transform}.ticker{position:relative;padding:10px 0;overflow:hidden}.ticker.glass:hover,.ticker.glass:focus-within{background:var(--glass);border-color:var(--glass-border);box-shadow:var(--shadow)}.ticker.glass:before{opacity:0!important;transform:none!important}.ticker.glass:after,.ticker.glass:hover:after,.ticker.glass:focus-within:after{opacity:0!important;transform:none!important}.ticker--scroll{overflow:hidden;cursor:auto;touch-action:pan-y;overscroll-behavior-x:none}.ticker--scroll.is-grabbing{cursor:auto}.ticker--scroll .ticker-track{animation:none;will-change:transform}.ticker--scroll .vcard{scroll-snap-align:start}.ticker .vcard{transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease),border-color var(--motion-fast, .2s) var(--ease-standard, ease),box-shadow var(--motion-fast, .2s) var(--ease-standard, ease);border-color:var(--glass-border)}.ticker .vcard:is(:hover,.is-hovered),.ticker .vcard:focus-visible{border-color:var(--glass-hover-border);box-shadow:0 0 0 2px color-mix(in srgb,var(--glass-hover-border) 70%,transparent),0 12px 28px #00000059;transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));z-index:2}.ticker .vcard.no-tilt:is(:hover,.is-hovered),.ticker .vcard.no-tilt:focus-visible{transform:translateZ(0)}@keyframes ticker-move{0%{transform:translate(0)}to{transform:translate(-50%)}}.modal .desc{color:var(--muted)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);inset:0;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:#0000008c;backdrop-filter:blur(2px);display:none;z-index:var(--z-header)}html.overlay-open .modal-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.modal .panel{max-width:calc(100% - 2 * var(--modal-gap));max-height:calc(100% - 2 * var(--modal-gap));width:auto;padding:16px;position:relative;flex-direction:column;gap:12px;max-inline-size:min(96cqi,calc(var(--vw) - 2 * var(--modal-gap)));max-block-size:calc(var(--vh) - 2 * var(--modal-gap));display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;overflow:auto}.modal{position:fixed;left:0;right:0;display:none;align-items:center;justify-content:center;padding:var(--modal-gap);z-index:var(--z-modal)}@media(min-width:900px){.modal,.modal-backdrop{top:var(--header-h);bottom:0}}@media(max-width:900px){.modal,.modal-backdrop{top:0;bottom:var(--header-h)}}.modal .media>svg{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .close:focus-visible{transform:scale(1.06)}.modal .media{background:transparent;border-radius:12px;margin:0;inline-size:100%;block-size:100%;display:grid;place-items:center;overflow:hidden}.modal .panel>.media{max-height:100%;min-block-size:0}.modal .media>img{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .media>video{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .media>canvas{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .media>iframe{max-inline-size:100%;max-block-size:100%;width:100%;height:100%;border:0}.modal .media{overflow:hidden}.modal .media>img,.modal .media>video,.modal .media>canvas,.modal .media>iframe{display:block;width:min(100%,var(--media-max-w, 96vw))!important;max-width:100%!important;max-height:var(--media-max-h, 90svh)!important;height:auto!important;object-fit:contain!important;border:0}.modal .title{font-size:20px;margin:0;align-self:stretch}.modal .close:after{content:"✕"}.modal .close:after{content:"✕";font-size:20px;line-height:1;color:#fff}.modal .close:hover{transform:scale(1.06)}.modal.open{display:flex}.modal-backdrop.open{display:block}.modal .desc{font-size:14px;opacity:.9;align-self:stretch}.modal .meta{font-size:14px;opacity:.9;align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:12px}.modal .meta-date{color:var(--muted);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.modal .modal-tags{margin:0;justify-content:flex-end;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-width:70%;padding-bottom:2px;gap:clamp(6px,1.2vw,10px)}.modal .modal-tags .tag-chip{font-size:clamp(11px,1.2vw,14px);padding:clamp(5px,.9vw,8px) clamp(7px,1vw,10px);white-space:nowrap;flex:0 0 auto}.modal .modal-tags .tag-chip__icon{width:clamp(14px,1.6vw,18px);height:clamp(14px,1.6vw,18px)}.modal.open,.modal-backdrop.open{display:flex}.modal .close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;cursor:pointer}.modal{display:none;position:fixed;top:var(--modal-offset-top, 0px);bottom:var(--modal-offset-bottom, 0px);left:0;right:0;z-index:var(--z-modal, 60);padding-top:max(var(--modal-pad-top, 12px),env(safe-area-inset-top),12px);padding-right:max(var(--modal-pad-side, 12px),env(safe-area-inset-right),12px);padding-bottom:max(var(--modal-pad-bottom, 12px),env(safe-area-inset-bottom),12px);padding-left:max(var(--modal-pad-side, 12px),env(safe-area-inset-left),12px);align-items:center;justify-content:center}.modal-backdrop{position:fixed;left:0;right:0;top:var(--modal-offset-top, 0px);bottom:var(--modal-offset-bottom, 0px);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none;z-index:var(--z-overlay, 30)}.modal .panel{box-sizing:border-box;display:flex;flex-direction:column;--glass-hover-border: var(--glass-border);max-width:min(96vw,1200px);max-height:min(96svh,96vh);width:min(auto);height:min(auto);overflow:hidden}.modal .title,.modal .desc{flex:0 0 auto}.modal .media{flex:1 1 auto;min-height:0;display:grid;place-items:center}.modal .media>*{max-width:var(--media-max-w, 96vw);max-height:var(--media-max-h, 90svh);width:auto;height:auto;object-fit:contain}.modal .media .yt-embed{width:100%;max-width:var(--media-max-w, 96vw);max-height:var(--media-max-h, 90svh);aspect-ratio:16 / 9}.modal .media .yt-embed iframe{width:100%;height:100%;display:block}.modal .media.portrait>*,.modal .media.landscape>*{object-fit:contain}.modal .visit{position:absolute;top:18px;right:66px;width:38px;height:38px;border-radius:50%;background:#fff;color:#111;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #00000026,0 3px 12px #00000014;display:grid;place-items:center;text-decoration:none;cursor:pointer}.modal .visit:after{content:"↗";font-size:18px;line-height:1}@media(hover:hover)and (pointer:fine){.modal .visit:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.modal .visit:active{transform:translateY(0)}.modal .visit,.modal .close{position:absolute;width:var(--modal-control-size, 38px);height:var(--modal-control-size, 38px);top:calc(var(--panel-padding, 16px) + ((var(--modal-title-line, 21px) + var(--modal-title-gap, 6px)) / 2) - (var(--modal-control-size, 38px) / 2));border-radius:50%;display:grid;place-items:center;box-sizing:border-box;z-index:10}.modal .close{right:18px}.modal .visit{right:calc(18px + var(--modal-control-size, 38px) + var(--modal-controls-gap, 10px))}.modal .visit,.modal .close{border-width:1px}.modal .title,.modal .desc{padding-right:calc(18px + (var(--modal-control-size, 38px) * 2) + var(--modal-controls-gap, 10px));overflow-wrap:anywhere;word-break:break-word}.contact-overlay .btn-contrast.with-icon img,.contact-overlay .btn-contrast.with-icon tgs-player{--icon-size: clamp(.9em, 1.05em, 1.1em);width:var(--icon-size)!important;height:var(--icon-size)!important;padding:0;object-fit:contain;border-radius:6px;flex:0 0 auto}.contact-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:10000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--motion-base, .24s) var(--ease-standard, ease),visibility 0s linear var(--motion-base, .24s)}.contact-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--motion-base, .24s) var(--ease-standard, ease)}.contact-overlay .contact-actions{display:flex;flex-direction:column;align-items:center;gap:16px;width:fit-content;max-width:90vw;margin:0 auto}.contact-overlay .contact-actions .btn{width:auto;display:grid;place-items:center;justify-content:center;font-size:clamp(21px,3.75vw,30px);padding:clamp(18px,3.3vw,27px) clamp(42px,6.75vw,84px);border-radius:clamp(21px,1.875em,39px);line-height:1.1}@media(min-width:900px){.contact-overlay .contact-actions{flex-direction:row;justify-content:center}.contact-overlay .contact-actions .btn{width:auto;padding:clamp(20px,3.1vw,32px)}}@media(max-width:899px){.contact-overlay .contact-actions .btn{width:100%}}.contact-overlay .contact-actions .btn-content{display:inline-flex;align-items:center;justify-content:center;gap:clamp(8px,.6em,14px);margin-inline:auto}.contact-overlay .contact-actions .btn-content>*{flex:0 0 auto}.contact-modal .contact-actions{display:flex;flex-direction:column;gap:16px}.contact-overlay a:focus-visible,.contact-overlay button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent),white 35%);outline-offset:4px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent),transparent 70%)}html.overlay-open .contact-overlay{background:#0a0a0c75!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.contact-overlay .btn-contrast{background:#fff;color:#000}.contact-overlay .btn-contrast:hover{transform:translateY(-3px)}.contact-list{display:flex;flex-direction:column;gap:10px}.contact-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),background var(--motion-base, .24s) var(--ease-standard, ease)}.contact-item img{width:28px;height:28px}.connect-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}@media(max-width:480px){.connect-actions{flex-direction:column}}@media(min-width:480px){.contact-modal .contact-actions{flex-direction:row}}.contact-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:#fff;display:grid;place-items:center;font-size:20px;cursor:pointer;transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease)}.contact-close:hover{transform:translateY(-2px);filter:brightness(1.1)}.contact-cta-section{padding-top:0;padding-bottom:var(--gap-section-y);overflow:visible;content-visibility:visible;contain:none}@media(max-width:900px){.contact-cta-section{margin-bottom:calc(-120px - env(safe-area-inset-bottom,0px))}}.contact-cta-inner{display:flex;justify-content:center}.contact-cta-block{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:999px;overflow:visible;transform:none}.contact-cta-block:hover,.contact-cta-block:focus-visible,.contact-cta-block:active{transform:none;background:transparent;box-shadow:none}.contact-cta-block:before,.contact-cta-block:after{content:none}.contact-cta-block__visual{position:relative;display:inline-flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.02em;text-transform:none;border-radius:999px;padding:clamp(18px,3.6vw,28px) clamp(76px,12vw,150px);font-size:clamp(22px,3.6vw,44px);background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transform:translateZ(0);overflow:visible;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;pointer-events:none}.contact-cta-block__label{position:relative;z-index:1;pointer-events:none}@supports not (color-mix(in srgb,white,black)){.contact-cta-block__visual{border-color:#ffffff38}}.contact-cta-block__visual:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.45);opacity:0;transform:none;filter:blur(.2px);z-index:0;pointer-events:none}.contact-cta-block__visual:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:radial-gradient(circle at top left,color-mix(in srgb,var(--glass-highlight) 70%,transparent) 0%,transparent 55%),linear-gradient(140deg,color-mix(in srgb,var(--liquid-edge, rgba(255, 255, 255, .25)),transparent 40%) 0%,transparent 65%);opacity:0;mix-blend-mode:screen;transition:opacity .35s ease,transform .45s ease;pointer-events:none;z-index:0}@media(hover:hover)and (pointer:fine){.contact-cta-block:hover .contact-cta-block__visual{background:var(--glass);border-color:var(--glass-hover-border);box-shadow:0 12px 32px #00000052;transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}.contact-cta-block:hover .contact-cta-block__visual:after{opacity:1;animation:contact-cta-waves 3s cubic-bezier(1,1,1,1) infinite}.contact-cta-block:hover .contact-cta-block__visual:before{opacity:.35;transform:translate3d(0,-2px,0)}}.contact-cta-block:active .contact-cta-block__visual{transform:translateZ(0)}@keyframes contact-cta-waves{0%{opacity:.45;inset:0;box-shadow:0 0 10px #ffffff1f}70%{opacity:.18;inset:-28px;box-shadow:0 0 20px #ffffff14}to{opacity:0;inset:-44px;box-shadow:0 0 26px #fff0}}.toast{position:fixed;top:16px;right:16px;padding:10px 14px;border-radius:14px;background:#00c110d9;color:#fff;font-weight:600;font-size:14px;box-shadow:0 8px 30px #00000040;opacity:0;transform:translateY(-10px);transition:opacity var(--motion-fast, .2s) var(--ease-standard, ease),transform var(--motion-fast, .2s) var(--ease-decel, ease);z-index:12000;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:899px){.floating-actions{position:fixed;bottom:max(16px,env(safe-area-inset-bottom,0px) + 16px);right:calc(16px + env(safe-area-inset-right,0px));transform:none;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:9999}.fab{width:7vh;height:7vh;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;box-shadow:0 10px 28px #00000059;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease,filter .2s ease}.fab svg{color:#fff;stroke:currentColor}.fab.fab-cv{background:#e6e6e6;border-color:#cfcfcf;color:#3f3f3f;box-shadow:0 10px 24px #0000003d}.fab.fab-cv svg{color:#3f3f3f;stroke:currentColor}.fab.fab-cv:hover{background:color-mix(in srgb,#3f3f3f 8%,#e6e6e6);border-color:#bdbdbd;filter:brightness(1.03);transform:translateY(-1px)}.fab.fab-cv:active{background:color-mix(in srgb,#3f3f3f 12%,#e6e6e6);transform:translateY(0)}.floating-actions button{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;transition:background .3s}}@media(max-width:900px){.floating-actions{bottom:calc(var(--vvb, 0px) + var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 16px)!important}}@media(min-width:900px){.floating-actions{display:none!important}}@media(max-width:900px){body{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px))!important}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:var(--vvb, 0px);height:var(--bottom-nav-h);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border);z-index:9990;padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-bottom-nav .item{display:inline-flex;align-items:center;justify-content:center;padding:10px 0;color:var(--accent)}.mobile-bottom-nav .item .i{width:24px;height:24px;color:inherit}.mobile-bottom-nav .item.is-active{color:#fff}.mobile-bottom-nav .safe-bottom{position:absolute;left:0;right:0;bottom:0;height:env(safe-area-inset-bottom,0px);pointer-events:none}}@media(min-width:900px){.mobile-bottom-nav{display:none}}.scroll-hint{display:flex;gap:32px;align-items:center;justify-content:center;margin:var(--space-3) 0 0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.4}.scroll-hint .chevrons{display:flex;align-items:center;gap:0px;pointer-events:auto;cursor:pointer}.scroll-hint .chevron{width:22px;height:18px;fill:none;stroke:var(--scroll-hint-color, #fff);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5;filter:var(--scroll-hint-filter, drop-shadow(0 0 9px rgba(255, 255, 255, .75)));opacity:.75}.scroll-hint .left .chevron{animation:hint-left 1.6s ease-in-out infinite}.scroll-hint .right .chevron{animation:hint-right 1.6s ease-in-out infinite}@keyframes hint-left{0%{transform:translate(0);opacity:.5}50%{transform:translate(-8px);opacity:1}to{transform:translate(0);opacity:.5}}@keyframes hint-right{0%{transform:translate(0);opacity:.5}50%{transform:translate(8px);opacity:1}to{transform:translate(0);opacity:.5}}@media{.scroll-hint{--scroll-hint-color: #fff;--scroll-hint-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .45))}}.scroll-hint .chevrons.is-hidden{display:none}#education .edu-card{position:relative;padding:20px 18px;display:flex;gap:16px;align-items:flex-start;border-radius:var(--radius);color:inherit;text-decoration:none;transition:background .25s ease,transform .18s ease}#education .edu-icon{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--glass-border)}#education .edu-icon .i{width:22px;height:22px;color:var(--accent);stroke-width:2;opacity:.95}#education .edu-title{margin:0 0 6px;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--text);text-wrap:balance}#education .edu-sub{margin:0 0 8px;line-height:1.35;font-weight:600;color:var(--muted)}#education .edu-body p{margin:0 0 10px;font-size:clamp(14px,1.35vw,16px);line-height:1.65;color:var(--muted);text-wrap:pretty}#education .edu-meta{margin-top:8px;font-size:clamp(13px,1.1vw,15px);line-height:1.2;color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums}#education .edu-card:focus-within{outline:2px solid color-mix(in srgb,var(--accent),white 30%);outline-offset:2px}#education h2{text-wrap:balance;letter-spacing:-.01em;margin-bottom:.8em}#education h3{font-size:clamp(18px,1.8vw,22px)}#education h4{font-size:clamp(14px,1.3vw,16px)}#education .edu-card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}#education .edu-body{max-width:68ch}#education .edu-grid{display:grid;grid-template-columns:1fr;gap:var(--gap-grid)}#skills .thumb.glass{padding:var(--thumb-pad, 10px);box-shadow:none;display:inline-block}@media(max-width:900px){#skills{--thumb-pad: 8px}}@media(max-width:480px){#skills{--thumb-pad: 6px}}#skills .thumb .uniform-media{box-sizing:border-box;width:100%;height:var(--media-h);padding:0;margin:0;border-radius:calc(var(--radius, 16px) - var(--thumb-pad, 10px))}#skills .skill-section--year .thumb{width:fit-content}#skills .skill-section--year .thumb .uniform-media{width:auto}#skills .thumb .uniform-media>img{display:block;width:auto;max-width:100%;height:100%;object-fit:contain;border-radius:inherit}#skills .thumb .uniform-media{background:transparent;box-sizing:border-box;border:0;border-radius:calc(var(--radius, 16px) - var(--thumb-pad, 10px));overflow:hidden}#skills .thumb .uniform-media>img,#skills .thumb .uniform-media>video,#skills .thumb .uniform-media>picture,#skills .thumb .uniform-media>picture>img{display:block;border-radius:inherit}.skills-container .label{color:#fff!important}#skills .skill-section.is-vertical-format{--skills-thumb-h: 22}.skill-section{position:relative}#skills.section{padding-bottom:var(--space-6)}.skill-section>h3{display:inline-flex;align-items:center;gap:var(--space-3)}.skill-section>h3{display:flex;justify-content:center;align-items:center;gap:.5rem;text-align:center}.skill-section>h3 .skill-icon{flex:0 0 auto;width:1.2em;height:1.2em}.skills-container{display:flex;flex-direction:column;gap:calc(var(--gap-grid) * 2)}tgs-player.skill-icon{flex:0 0 auto;width:1.2em;height:1.2em;display:inline-block}#skills-cloud-root{display:flex;justify-content:center;align-items:center;width:100%}.skills-section{position:relative;top:auto;min-height:auto}.skills-section.section{padding-top:var(--space-4)}.skills-layout{display:flex;align-items:center;gap:clamp(24px,4vw,56px)}.skills-intro{flex:1 1 50%;color:var(--text);line-height:1.55;max-width:62ch;text-align:justify}.skills-intro p{color:var(--muted);margin:0 0 12px;text-align:justify}.skills-langs-chips{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:10px}.skills-visual{flex:1 1 50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0px}.skills-cloud{display:flex;justify-content:center;align-items:center;width:100%;padding-top:16px;position:relative;opacity:0;transition:opacity 2s ease}.skills-cloud.is-ready{opacity:1}.skills-cloud canvas{width:100%;max-width:70vh;height:auto;display:block}.skills-cloud .skills-list{display:none}.skills-cloud-caption{width:fit-content;max-width:min(100%,52ch);padding:6px 10px;border-radius:999px;font-size:clamp(10px,2vw,16px);line-height:1.2;text-align:center}.skills-divider-wrap,.section-divider-wrap{margin:0;padding-block:var(--space-6);display:flex;justify-content:center}.skills-divider,.section-divider{width:min(70%,720px);flex:0 0 auto;margin:0;height:2px;border:0;padding:0;border-radius:999px;background:linear-gradient(90deg,#fff0,#ffffffd9,#fff0);transform-origin:50% 50%;transform:scaleX(1);filter:drop-shadow(0 0 10px rgb(255 255 255 / .08))}.skills-divider.breath,.section-divider.breath{animation:skills-divider-breath 4.2s ease-in-out infinite;filter:drop-shadow(0 0 var(--ui-breath-glow) rgb(255 255 255 / var(--ui-breath-alpha))) drop-shadow(0 0 10px rgb(255 255 255 / .08))}.skills-divider-wrap+.contact-cta-section{margin-top:calc(var(--space-6) * -1)}@keyframes skills-divider-breath{0%,to{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.57);opacity:.7}}.section .container>.skills-divider-wrap{margin-top:0}.section .container>#education.section{margin-top:0;padding-top:0}.section .container>h2+#skills.skills-section{margin-top:var(--space-2)}.section .container>h2:has(+#skills.skills-section){margin-bottom:var(--space-2)}@media(max-width:900px){.skills-layout{flex-direction:column;align-items:center}.skills-visual{order:-1}}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media{position:relative}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:before{content:"";position:absolute;left:50%;top:50%;width:15%;aspect-ratio:1 / 1;border-radius:50%;transform:translate(-50%,-50%);background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 10px 24px #00000059,inset 0 0 0 1px var(--glass-border);pointer-events:none}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-38%,-50%);border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:18px solid rgba(255,255,255,.95);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:before,.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:after{transition:opacity .25s ease,transform .25s ease}#skills .thumb.is-video:hover .uniform-media:before{transform:translate(-50%,-50%) scale(1.04);opacity:0}#skills .thumb.is-video:hover .uniform-media:after{transform:translate(-38%,-50%) scale(1.04);opacity:0}.skill-section{margin-top:0}.skill-icon{width:32px;height:32px;flex:0 0 auto}.skills-container .thumb{position:relative;overflow:visible;margin-bottom:18px}.skills-container .thumb .uniform-media{background:#ffffff0f;padding:12px;box-sizing:border-box}.skills-container .thumb .uniform-media>img{width:100%;height:100%;object-fit:contain;border-radius:12px}.skills-container .thumb .label{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);padding:10px 14px;border-radius:999px;background:var(--bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 10px 24px #00000038;color:(var(--text),transparent 80%);font-size:12px;line-height:1.1;text-align:center;max-width:min(calc(100% - 24px),260px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}#projects{--project-card-w: clamp(340px, 72vw, 720px)}#projects .projects-section>h3{text-align:center;font-weight:600}#projects .projects-section+.projects-section{margin-top:var(--gap-stack)}#projects .projects-section .cards{display:grid;grid-template-columns:1fr;justify-items:center;gap:var(--gap-grid)}#projects .projects-section .card{width:var(--project-card-w);max-width:100%;flex-wrap:wrap}#projects .card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);--tiltLift: 0px}#projects .card .info{flex:1 1 auto;min-width:0}#projects .card .icon{flex:0 0 48px}#projects .card .kpi{margin-left:auto}.works-search{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:14px 0 12px}.works-search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:16px;padding:8px 10px;border-radius:12px}.works-search input::placeholder{color:color-mix(in srgb,var(--muted),transparent 25%)}.works-reset{padding:8px 12px;border-radius:12px;border:1px solid var(--glass-border);background:#ffffff0f;color:var(--text);transition:transform .18s ease,background .2s ease,border-color .2s ease}@media(hover:hover)and (pointer:fine){.works-reset:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:#ffffff17}}.works-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 18px}.works-tags-groups{display:flex;flex-direction:column;gap:10px;margin:0 0 18px}.works-tags-groups .works-tags{margin:0}.works-tags-groups .works-tags+.works-tags{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--glass-border),transparent 30%)}.tag-chip{padding:8px 10px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-surface-bg);color:var(--muted);display:inline-flex;align-items:center;gap:8px;transition:transform .18s ease,background .2s ease,border-color .2s ease,color .2s ease}.tag-chip__icon{width:18px;height:18px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.tag-chip__icon>img,.tag-chip__icon>svg,.tag-chip__icon>tgs-player{width:100%;height:100%;display:block}.tag-chip__icon>img{object-fit:contain}.tag-chip__icon>img.work-tag-icon--img{border-radius:9999px;object-fit:cover}.tag-chip__icon>tgs-player{pointer-events:none}@media(hover:hover)and (pointer:fine){.tag-chip:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:#ffffff12;color:var(--text)}}.tag-chip.is-active{color:var(--text);border-color:#ffffffe6;background:#ffffff17}.tag-chip.is-disabled,.tag-chip:disabled{opacity:.45;cursor:not-allowed;background:#ffffff08;border-color:color-mix(in srgb,var(--glass-border),transparent 45%);color:var(--muted);transform:none}@media(hover:hover)and (pointer:fine){.tag-chip.is-disabled:hover,.tag-chip:disabled:hover{transform:none;background:#ffffff08;color:var(--muted)}}#socials{--project-card-w: clamp(340px, 72vw, 720px)}#socials .socials-sections{display:grid;gap:var(--gap-stack)}#socials .socials-section>h3{text-align:center;font-weight:600}#socials .cards{display:grid;grid-template-columns:1fr;justify-items:center;gap:var(--gap-grid)}#socials .card{width:var(--project-card-w);max-width:100%;flex-wrap:wrap}#socials .card .info{flex:1 1 auto;min-width:0}#socials .card .icon{flex:0 0 48px}#socials .card .kpi{margin-left:auto}#socials .card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);--tiltLift: 0px}#socials .social-soon{position:absolute;top:10px;right:10px;font-size:12px;color:var(--muted);padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--glass-border),transparent 35%);background:color-mix(in srgb,var(--glass-bg),transparent 30%);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}@media(max-width:900px){#socials .card,#socials .card .info{align-items:center}}#collabs .collabs-board{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:dense;gap:clamp(14px,2.7vw,22px);align-items:stretch;padding:14px clamp(6px,1.2vw,12px) 8px}#collabs .collabs-board:before{content:"";position:absolute;inset:-12px;pointer-events:none;opacity:.6;filter:blur(12px);background:radial-gradient(320px 140px at 18% 10%,rgba(255,255,255,.12),transparent 70%),radial-gradient(380px 220px at 78% 55%,rgba(229,57,53,.18),transparent 75%)}#collabs .collab-board-card{position:relative;text-decoration:none;border-bottom:0!important;color:inherit;display:flex;align-items:stretch;isolation:isolate;aspect-ratio:16 / 9;width:100%;min-width:0;container-type:inline-size;--collab-pad: clamp(8px, 2.4cqw, 14px);--collab-gap: clamp(4px, 1.6cqw, 8px);--collab-logo-size: clamp(28px, 7cqw, 40px);--collab-title-size: clamp(14px, 3.4cqw, 18px);--collab-subtitle-size: clamp(11px, 2.6cqw, 14px);--collab-tag-size: clamp(10px, 2.2cqw, 12px);--collab-summary-size: clamp(11px, 2.4cqw, 13px);--collab-visit-size: clamp(28px, 6.5cqw, 34px);--collab-visit-font: clamp(13px, 3.2cqw, 16px);--collab-kpi-pad-y: clamp(4px, 1.2cqw, 6px);--collab-kpi-pad-x: clamp(6px, 2cqw, 8px);--collab-kpi-radius: clamp(8px, 2.6cqw, 10px);--collab-kpi-font: clamp(11px, 2.3cqw, 14px);--collab-kpi-num: clamp(14px, 3.5cqw, 18px);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;border-radius:20px}#collabs .collab-board-card.reveal,#collabs .collab-board-card.reveal.is-revealed{transition:opacity .55s ease,transform .95s ease,filter .7s ease,border-color .25s ease,box-shadow .25s ease;transition-delay:var(--reveal-delay),var(--reveal-delay),var(--reveal-delay),0ms,0ms}#collabs .collab-tilt-left{--collab-tilt: -.9deg}#collabs .collab-tilt-right{--collab-tilt: .9deg}#collabs .collab-size-xl{grid-column:span 6;grid-row:auto}#collabs .collab-size-lg{grid-column:span 5;grid-row:auto}#collabs .collab-size-md{grid-column:span 4;grid-row:auto}#collabs .collab-size-sm{grid-column:span 3;grid-row:auto}#collabs .collab-board-card__clip{position:relative;border-radius:20px;overflow:hidden;background:#ffffff0a;box-shadow:var(--shadow);--collab-outline-color: var(--glass-border);display:flex;align-items:stretch;width:100%;height:100%;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}#collabs .collab-board-card__outline{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;box-shadow:inset 0 0 0 1px var(--collab-outline-color),0 0 #fff0;transition:box-shadow .35s ease}#collabs .collab-board-card__clip.glow-hover:before,#collabs .collab-board-card__clip.glow-hover:after{z-index:1;background:none;opacity:0!important}#collabs .collab-board-card__tilt{z-index:2}#collabs .collab-board-card__tilt{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;transform:translateZ(0);transform-origin:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .25s ease}#collabs .collab-board-card__pin{display:none}#collabs .collab-board-card__bg{position:absolute;inset:0;z-index:0;transform:translateZ(0);transition:transform .35s ease}#collabs .collab-board-card__bg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.05)}#collabs .collab-board-card__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000026 30%,#000000a6);pointer-events:none}#collabs .collab-board-card__glass{position:relative;z-index:1;margin:auto var(--collab-pad) var(--collab-pad);padding:var(--collab-pad);border-radius:14px;display:flex;flex-direction:column;gap:var(--collab-gap);max-width:min(360px,calc(100% - var(--collab-pad) * 2));min-width:0}#collabs .collab-board-card__visit{position:absolute;top:var(--collab-pad);right:var(--collab-pad);width:var(--collab-visit-size);height:var(--collab-visit-size);border-radius:50%;background:#fff;color:#111;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #00000026,0 3px 12px #00000014;display:grid;place-items:center;cursor:pointer;padding:0}#collabs .collab-board-card__visit:after{content:"↗";font-size:var(--collab-visit-font);line-height:1}#collabs .collab-board-card__visit{transition:transform .2s ease,box-shadow .2s ease}@media(hover:hover)and (pointer:fine){#collabs .collab-board-card__visit:hover{transform:translate3d(0,-1px,0);box-shadow:0 2px 6px #0000002e,0 6px 16px #0000001f}}#collabs .collab-board-card__visit:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}#collabs .collab-board-card__header{display:flex;align-items:center;gap:var(--collab-gap)}#collabs .collab-board-card__titles{display:flex;flex-direction:column;gap:2px;min-width:0}#collabs .collab-board-card__logo{width:var(--collab-logo-size);height:var(--collab-logo-size);border-radius:12px;background:#ffffff14;display:grid;place-items:center;border:1px solid var(--glass-border);flex:0 0 auto;overflow:hidden}#collabs .collab-board-card__logo img{width:100%;height:100%;object-fit:contain;display:block}#collabs .collab-board-card__title{font-weight:600;font-size:var(--collab-title-size);line-height:1.2}#collabs .collab-board-card__subtitle{font-size:var(--collab-subtitle-size);line-height:1.2}#collabs .collab-board-card__tag{font-size:var(--collab-tag-size);letter-spacing:.02em;color:#ffffffb8}#collabs .collab-board-card__summary{font-size:var(--collab-summary-size);line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#collabs .collab-board-card__kpi{position:absolute;top:var(--collab-pad);right:var(--collab-pad);z-index:2;text-align:right;padding:var(--collab-kpi-pad-y) var(--collab-kpi-pad-x);border-radius:var(--collab-kpi-radius);background:#0006;border:1px solid rgba(255,255,255,.12);min-width:clamp(64px,18cqw,90px);font-size:var(--collab-kpi-font)}#collabs .collab-board-card__kpi .num{font-size:var(--collab-kpi-num)}@media(hover:hover)and (pointer:fine){#collabs .collab-board-card:hover,#collabs .collab-board-card:focus-visible{text-decoration:none;border-bottom:0!important}#collabs .collab-board-card:hover .collab-board-card__clip,#collabs .collab-board-card:focus-visible .collab-board-card__clip{--collab-outline-color: rgba(255, 255, 255, .96);border-color:var(--glass-hover-border);box-shadow:0 14px 26px #00000059,var(--shadow);transform:perspective(500px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}#collabs .collab-board-card:hover .collab-board-card__outline,#collabs .collab-board-card:focus-visible .collab-board-card__outline{box-shadow:inset 0 0 0 1px #fffffff5,0 0 0 1px #ffffffb8,0 0 20px #ffffff61}#collabs .collab-board-card:hover .collab-board-card__bg,#collabs .collab-board-card:focus-visible .collab-board-card__bg{transform:scale(1.04)}}@media(max-width:1024px){#collabs .collabs-board{grid-template-columns:repeat(8,minmax(0,1fr))}#collabs .collab-size-xl{grid-column:span 8;grid-row:auto}#collabs .collab-size-lg{grid-column:span 6;grid-row:auto}#collabs .collab-size-md,#collabs .collab-size-sm{grid-column:span 4;grid-row:auto}}@media(max-width:700px){#collabs .collabs-board{grid-template-columns:1fr;grid-auto-rows:auto}#collabs .collab-board-card__glass{max-width:100%}#collabs .collab-size-xl,#collabs .collab-size-lg,#collabs .collab-size-md,#collabs .collab-size-sm{grid-column:span 1;grid-row:span 1;min-height:0}}@media(prefers-reduced-motion:reduce){#collabs .collab-board-card__clip,#collabs .collab-board-card__tilt,#collabs .collab-board-card__bg{transition:none}}#timeline.section{padding-top:0}#timeline .title-with-icon{margin-bottom:var(--space-4);display:flex;justify-content:center;width:100%}#timeline .timeline{--timeline-year-w: clamp(10px, 5vw, 70px);--timeline-rail-w: 2vw;--timeline-line-w: 2px;--timeline-dot: 12px;--timeline-row-gap: var(--space-2);--timeline-line-gap: 1vw;--timeline-year-gap: var(--timeline-row-gap);--timeline-cards-w: 60vw;--timeline-year-pad: 10px;--timeline-line-x: calc(50% - (var(--timeline-cards-w) / 2) - var(--timeline-line-gap));--timeline-font-year: clamp(13px, 1.15vw, 17px);--timeline-font-title: clamp(18px, 1.8vw, 24px);--timeline-font-body: clamp(14px, 1.3vw, 18px);--timeline-font-pill: clamp(12px, 1.05vw, 14px);position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0}#timeline .timeline-row{position:relative;display:block;padding:10px 0}#timeline .timeline-year{position:absolute;top:0;left:calc(var(--timeline-line-x) - var(--timeline-rail-w) - var(--timeline-year-gap) - var(--timeline-year-w));width:var(--timeline-year-w);text-align:right;color:color-mix(in srgb,var(--text),var(--muted) 55%);font-weight:700;font-size:var(--timeline-font-year);line-height:1.1;padding-top:10px;padding-right:var(--timeline-year-pad)}#timeline .timeline-rail{position:absolute;top:0;left:calc(var(--timeline-line-x) - var(--timeline-rail-w));width:var(--timeline-rail-w);height:100%;display:flex;justify-content:flex-start;padding-top:14px}#timeline .timeline:before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--timeline-line-x) - (var(--timeline-line-w) / 2));width:var(--timeline-line-w);border-radius:999px;background:color-mix(in srgb,var(--text) 22%,transparent);opacity:.55}#timeline .timeline-dot{width:var(--timeline-dot);height:var(--timeline-dot);border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid color-mix(in srgb,var(--text) 28%,transparent);box-shadow:0 10px 20px #00000040;transition:transform .18s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}#timeline .timeline-row.is-empty .timeline-year{color:color-mix(in srgb,var(--muted),transparent 35%);font-weight:600;padding-top:0}#timeline .timeline-row.is-empty .timeline-dot{transform:scale(.8);background:color-mix(in srgb,var(--bg) 35%,transparent);border-color:color-mix(in srgb,var(--muted) 35%,transparent);box-shadow:none}#timeline .timeline-row.is-empty{padding:2px 0;min-height:calc(var(--timeline-dot) + 10px)}#timeline .timeline-row.is-empty .timeline-rail{padding-top:0}#timeline .timeline-row.is-empty .timeline-cards{display:none}#timeline .timeline-cards{display:flex;flex-direction:column;gap:var(--space-3);width:var(--timeline-cards-w);margin-inline:auto}#timeline .timeline-item{display:block}#timeline .timeline-card{position:relative;display:flex;gap:16px;align-items:flex-start;color:inherit;text-decoration:none;padding:20px 18px;border-radius:var(--radius);transition:background .25s ease,transform .18s ease}#timeline .timeline-card-wrap{display:block;width:100%}#timeline .timeline-card{min-height:var(--timeline-card-min-h, 0px)}#timeline .timeline-card:before{content:"";position:absolute;left:calc(-1 * (var(--timeline-line-gap) - (var(--timeline-line-w) / 2)));top:24px;width:calc(var(--timeline-line-gap) - (var(--timeline-line-w) / 2));height:1px;background:color-mix(in srgb,var(--text) 14%,transparent);opacity:.85}#timeline .edu-icon{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--glass-border)}#timeline .edu-icon .i,#timeline .edu-icon img,#timeline .edu-icon tgs-player{width:22px;height:22px;color:var(--accent);stroke-width:2;opacity:.95;object-fit:contain;display:block}#timeline .edu-body{max-width:68ch;min-width:0;flex:1 1 auto}#timeline .timeline-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}#timeline .edu-title{margin:0 0 6px;font-size:var(--timeline-font-title);line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--text);text-wrap:balance;overflow-wrap:anywhere}#timeline .timeline-date-pill{flex:0 0 auto;height:40px;min-width:64px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;font-size:var(--timeline-font-pill);letter-spacing:.01em;text-transform:capitalize;color:var(--muted);border:1px solid color-mix(in srgb,var(--glass-border),transparent 30%);background:color-mix(in srgb,var(--glass-bg),transparent 42%);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);white-space:nowrap}#timeline .edu-body p{margin:0 0 10px;font-size:var(--timeline-font-body);line-height:1.65;color:var(--muted);text-wrap:pretty;overflow-wrap:anywhere}#timeline .timeline-card.is-link{cursor:pointer}#timeline .timeline-card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}#timeline .timeline-card:focus-visible{transform:translateY(-2px);background:var(--glass-hover-bg);border-color:var(--glass-hover-border)}#timeline .timeline-card:is(:hover,.is-hovered):before,#timeline .timeline-card:focus-visible:before{background:color-mix(in srgb,var(--accent) 55%,transparent)}#timeline .timeline-row:has(.timeline-card:hover,.timeline-card.is-hovered) .timeline-dot,#timeline .timeline-row:has(.timeline-card:focus-visible) .timeline-dot{transform:scale(1.08);background:color-mix(in srgb,var(--accent) 55%,rgba(255,255,255,.08));border-color:color-mix(in srgb,var(--accent),white 25%);box-shadow:0 12px 24px #00000047}@media(hover:hover)and (pointer:fine){#timeline .timeline-card:is(:hover,.is-hovered) .timeline-date-pill,#timeline .timeline-card:focus-visible .timeline-date-pill{color:var(--text)}}@media(max-width:900px){#timeline .timeline{--timeline-year-w: clamp(44px, 9vw, 68px);--timeline-rail-w: 20px;--timeline-row-gap: 10px;--timeline-cards-w: 70vw;--timeline-year-pad: 8px}#timeline .timeline-card{padding:18px 16px}#timeline .timeline-year{padding-top:8px}#timeline .timeline-card:before{top:22px}#timeline .timeline-date-pill{height:36px;min-width:56px;padding:0 10px;border-radius:10px}}@media(max-width:480px){#timeline .timeline{--timeline-year-w: clamp(40px, 12vw, 56px);--timeline-rail-w: 18px;--timeline-row-gap: 8px;--timeline-cards-w: 70vw;--timeline-year-pad: 6px}#timeline .timeline-card{padding:16px 14px}#timeline .timeline-card:before{display:none}#timeline .timeline-year{padding-top:10px}#timeline .timeline-date-pill{height:34px;min-width:52px;padding:0 10px;border-radius:10px}}#vertical-videos.section{padding-top:var(--space-6)}#vertical-videos .vv-wrapper{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:1rem}#vertical-videos .vv-phone{position:relative;width:min(360px,88vw);aspect-ratio:9 / 19.5;background-image:url(/assets/iPhone_16-Dp3n6WLM.png);background-size:contain;background-position:center;background-repeat:no-repeat}#vertical-videos .vv-screen{position:absolute;inset:6.5% 6.8% 6.2%;border-radius:30px;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;background:#000}@media(min-width:900px){#vertical-videos .vv-screen{scrollbar-width:none;-ms-overflow-style:none}#vertical-videos .vv-screen::-webkit-scrollbar{width:0;display:none}}#vertical-videos .vv-item{height:100%;min-height:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;position:relative}#vertical-videos .vv-item:before{content:"";position:absolute;inset:0;background-image:#000;background-size:cover;background-position:center;filter:blur(22px) saturate(1.05) brightness(.6);transform:scale(1.08);z-index:0}#vertical-videos .vv-item:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 85% at 50% 15%,#00000026,#000000a6);z-index:0}#vertical-videos .vv-item .vv-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1}#vertical-videos .vv-item video{object-fit:contain;object-position:center center}#vertical-videos .vv-item .vv-inline-wrapper{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}#vertical-videos .vv-item .vv-inline-wrapper video{max-width:100%;max-height:100%;width:100%;height:auto;object-fit:contain;object-position:center center}#vertical-videos .vv-item .vv-badge{position:absolute;right:10px;bottom:10px;padding:.35rem .45rem;font-size:.75rem;background:#0009;border:1px solid rgba(255,255,255,.12);border-radius:999px;-webkit-user-select:none;user-select:none;pointer-events:auto;cursor:pointer;z-index:2}#vertical-videos .vv-side{display:flex;flex-direction:column;align-items:center;gap:10px}#vertical-videos .vv-hint{margin:0;opacity:.6;pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:32px}#vertical-videos .vv-hint .chevrons{pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}#vertical-videos .vv-hint .chevron{width:22px;height:18px}#vertical-videos .vv-hint .up .chevron{animation:hint-up 1.6s ease-in-out infinite}#vertical-videos .vv-hint .down .chevron{animation:hint-down 1.6s ease-in-out infinite}@keyframes hint-up{0%{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:1}to{transform:translateY(0);opacity:.5}}@keyframes hint-down{0%{transform:translateY(0);opacity:.5}50%{transform:translateY(8px);opacity:1}to{transform:translateY(0);opacity:.5}}@media(max-width:1023.98px){#vertical-videos .vv-side{display:flex}}@media(max-width:767.98px){#vertical-videos .vv-wrapper{gap:12px}#vertical-videos .vv-phone{width:min(340px,76vw)}}body.cv-mode{background:#f2f2f2;color:#111;padding-top:0!important;padding-bottom:0!important}body.cv-mode:before,body.cv-mode:after{content:none!important}.cv-page{min-height:100vh;background:#f2f2f2;color:#111;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45;padding:20px 16px 40px}.cv-toolbar{max-width:920px;margin:0 auto 16px}.cv-toolbar__inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.cv-toolbar__back,.cv-toolbar__print{border:1px solid #c9c9c9;background:#fff;color:#111;padding:8px 12px;border-radius:6px;font-size:14px;line-height:1}.cv-toolbar__print{cursor:pointer}.cv-document{max-width:920px;margin:0 auto;background:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 6px 24px #00000014;padding:32px}.cv-document a,.cv-contacts a,.cv-links a,.cv-proof-list a{color:#0f3b82;text-decoration:underline}.cv-document a:hover,.cv-document a:focus-visible{color:#0b2d62}.cv-state{margin:0;color:#333}.cv-header{border-bottom:1px solid #d9d9d9;padding-bottom:16px;margin-bottom:22px}.cv-header h1{margin:0;font-size:36px;line-height:1.1;color:#111;font-weight:700}.cv-role{margin:8px 0 0;font-size:18px;color:#222}.cv-contacts{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 14px;color:#333}.cv-contact-item{display:inline-flex;align-items:center;gap:6px}.cv-inline-icon{width:15px;height:15px;color:#4a4a4a;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.cv-updated{margin:10px 0 0;color:#555;font-size:14px}.cv-columns{display:block}.cv-section{margin-top:20px;break-inside:avoid}.cv-section h2{margin:0 0 10px;font-size:22px;line-height:1.2;color:#111;text-align:left;font-weight:700}.cv-section p,.cv-section li{color:#1b1b1b;margin-bottom:8px}.cv-item{margin-bottom:12px;break-inside:avoid}.cv-item h3{margin:0 0 6px;font-size:18px;color:#111}.cv-item__meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 8px;color:#444}.cv-item ul{margin:0;padding-left:20px}.cv-links{display:flex;flex-wrap:wrap;gap:8px 12px}.cv-proof-list{margin:0;padding-left:20px}@media(min-width:900px){.cv-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.cv-col-main .cv-section,.cv-col-side .cv-section{margin-top:0}.cv-col-side .cv-section+.cv-section{margin-top:20px}}@media(max-width:900px){.cv-page{padding:14px 10px 24px}.cv-document{padding:18px}.cv-header h1{font-size:28px}.cv-role{font-size:16px}}@media print{@page{size:A4;margin:12mm}html,body,.cv-page,.cv-document{background:#fff!important;color:#000!important;box-shadow:none!important;border:0!important}.print-hidden{display:none!important}.cv-page{padding:0!important}.cv-document{max-width:none;margin:0;padding:0}.cv-columns{display:block!important}.cv-document a{color:#0f3b82!important;text-decoration:underline!important}.cv-section,.cv-item{break-inside:avoid;page-break-inside:avoid}}@media(prefers-reduced-motion:reduce){.breath{animation:none!important;filter:none!important}.glass.breath{box-shadow:var(--shadow)!important}}@media(prefers-reduced-motion:reduce){a.link-fx:after{transition:none!important;animation:none!important}}@media(prefers-reduced-motion:reduce){.magnetic{translate:0px 0px!important}}@media(prefers-reduced-motion:reduce){.route-layer--exit,.route-layer--enter{animation:none!important}.route-overlay{display:none!important}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.card.glass.reveal.is-revealed{animation:none!important}}@media(prefers-reduced-motion:reduce){[data-parallax]{transform:none!important}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:reduce){.ticker--js .ticker-track{animation:none!important}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@media(prefers-reduced-motion:reduce){.skills-cloud canvas{filter:grayscale(.2)}}@media(prefers-reduced-motion:reduce){.skills-cloud{transition:none!important}}@media(prefers-reduced-motion:reduce){#timeline .timeline-dot,#timeline .timeline-card,#timeline .timeline-thumb>img,#timeline .timeline-thumb>tgs-player{transition:none!important}}
