@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-BOOGhInR.woff2)format("woff2"),url(/assets/inter-latin-400-normal-gitzw0hO.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-D273HNI0.woff2)format("woff2"),url(/assets/inter-latin-600-normal-B5cFAncS.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/oswald-latin-600-normal-BngA6tR6.woff2)format("woff2"),url(/assets/oswald-latin-600-normal-BdjNFnxE.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-D0t3JG0g.woff2)format("woff2"),url(/assets/oswald-latin-700-normal-t-ui8eSZ.woff)format("woff")}@font-face{font-family:Kenyan Coffee;src:url(/fonts/kenyan-coffee-bold.woff2)format("woff2"),url(/fonts/kenyan-coffee-bold.otf)format("opentype"),url(/fonts/kenyan-coffee-bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--font-brand:"Kenyan Coffee", "Oswald", "Arial Narrow", Impact, sans-serif;--brand-dark:#440f3b;--brand-light:#ca68b7;--brand-orange:#f1820f;--white:#fff;--navy:#070d1f;--navy-2:#0d1733;--font-display:"Oswald", "Arial Narrow", Impact, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);color:var(--white);-webkit-font-smoothing:antialiased;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(to top right, var(--brand-dark), var(--brand-light)) fixed;min-height:100vh;margin:0}img{max-width:100%;display:block}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.lang-switch{top:calc(env(safe-area-inset-top,0px) + clamp(.75rem, 2vw, 1.25rem));right:calc(env(safe-area-inset-right,0px) + clamp(.75rem, 2vw, 1.5rem));z-index:100;-webkit-backdrop-filter:blur(10px);background:#070d1f8c;border:1px solid #ffffff26;border-radius:999px;gap:2px;padding:4px;display:flex;position:fixed;box-shadow:0 6px 20px #00000040}.lang-switch button{color:#ffffffbf;min-width:44px;min-height:34px;font:600 .85rem/1 var(--font-body);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .75rem;transition:background-color .25s,color .25s}.lang-switch button:hover{color:var(--white)}.lang-switch button.is-active{background:var(--brand-orange);color:var(--white)}.lang-switch button:focus-visible{outline:2px solid var(--white);outline-offset:2px}.hero{background:url(/assets/banner_bg-C0TDeARW.png) center / cover no-repeat, linear-gradient(to top right, var(--brand-dark), var(--brand-light));place-items:center;min-height:100svh;padding:4rem clamp(1rem,5vw,3rem) 6rem;display:grid;position:relative;overflow:hidden}.hero__brand{flex-direction:column;align-items:flex-start;max-width:100%;display:flex}.hero__title{font-family:var(--font-brand);letter-spacing:.32em;color:var(--white);white-space:nowrap;margin:0 -.32em 0 0;font-size:clamp(3rem,12vw,10rem);font-weight:700;line-height:.9}.hero__subtitle{font-family:var(--font-brand);color:var(--brand-orange);white-space:nowrap;margin:.15em 0 0;font-size:2rem;font-weight:700;line-height:1.1}.hero__icons{width:clamp(150px,16vw,240px);height:auto;position:absolute;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2.5rem)}@media (width<=700px){.hero{align-content:center;padding-bottom:5rem}.hero__icons{width:min(60vw,220px);margin-top:clamp(2.5rem,10vw,4rem);position:static}}.scroll-hint{border:2px solid #ffffffb3;border-radius:14px;width:28px;height:44px;position:absolute;bottom:clamp(.75rem,3vw,1.75rem);left:50%;translate:-50%}.scroll-hint span{background:var(--brand-orange);border-radius:2px;width:4px;height:8px;margin-left:-2px;animation:1.6s ease-in-out infinite scroll-dot;position:absolute;top:8px;left:50%}@keyframes scroll-dot{0%{opacity:1;transform:translateY(0)}80%{opacity:0;transform:translateY(16px)}to{opacity:0}}.band{padding-block:clamp(3.5rem,8vw,6.5rem);padding-inline:clamp(1rem,5vw,4rem);position:relative;overflow:hidden}.band__inner{max-width:1200px;margin-inline:auto}.section-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.75rem;font-size:clamp(1.9rem,4.5vw,3rem);font-weight:700;line-height:1.1}.section-title:after{content:"";background:var(--brand-orange);border-radius:2px;width:64px;height:4px;margin-top:.6rem;display:block}[data-reveal]{--i:0;--dist:60px;--pi:clamp(0, (var(--p,0) - var(--i) * .08) / .76, 1);--e:calc(var(--pi) * var(--pi) * (3 - 2 * var(--pi)));opacity:var(--e);translate:0 calc((1 - var(--e)) * var(--dist));will-change:opacity, translate}.band--highlights{background:radial-gradient(ellipse at 85% 0%, #ca68b72e, transparent 55%), linear-gradient(160deg, var(--navy-2), var(--navy))}.band--highlights:before{content:"";background:linear-gradient(90deg, var(--brand-dark), var(--brand-light), var(--brand-orange));height:4px;position:absolute;inset:0 0 auto}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.5rem;display:grid}.card{color:inherit;--dist:140px;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;text-decoration:none;transition:transform .35s,border-color .35s,box-shadow .35s;display:flex;overflow:hidden}.card:hover,.card:focus-visible{border-color:#f1820f99;outline:none;transform:translateY(-6px);box-shadow:0 18px 40px -18px #ca68b78c}.card__media{aspect-ratio:16/9;background:linear-gradient(to top right, var(--brand-dark), var(--brand-light));position:relative}.card__media img,.card__placeholder{object-fit:cover;width:100%;height:100%}.card__placeholder{background-image:linear-gradient(60deg,#ffffff0d 25%,#0000 25%),linear-gradient(-60deg,#ffffff0d 25%,#0000 25%);background-size:40px 70px;place-items:center;display:grid}.card__placeholder span{font-family:var(--font-brand);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 4px 18px #00000059;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.card__badge{background:var(--brand-orange);width:56px;height:56px;color:var(--white);border-radius:50%;place-items:center;padding-left:4px;font-size:1.2rem;transition:scale .3s;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 6px 20px #00000059}.card:hover .card__badge{scale:1.1}.card__body{flex-direction:column;flex:1;gap:.5rem;padding:1.25rem 1.25rem 1.4rem;display:flex}.card__body h3{font-family:var(--font-display);letter-spacing:.03em;margin:0;font-size:1.35rem;font-weight:600}.card__body p{color:#ffffffb8;margin:0;font-size:.95rem}.card__link{color:var(--brand-orange);margin-top:auto;padding-top:.5rem;font-size:.9rem;font-weight:600}.band--unreal{background:linear-gradient(90deg,#000,#141414)}.band--blender{background:linear-gradient(90deg,#df7100,#ff9325)}.band--maya{background:linear-gradient(90deg,#021418,#07313a)}.band--maya .section-title:after{background:#37bccd}.band--maya .skill__num{color:#37bccd}.band--dev{background:linear-gradient(to right, var(--brand-dark), var(--brand-light))}.band--dev .skill__list li{border-bottom-color:#ffffff38}.skill{grid-template-columns:clamp(72px,26vw,300px) 1fr;align-items:center;gap:clamp(1.25rem,5vw,4.5rem);display:grid}.skill__logo img{filter:drop-shadow(0 8px 24px #00000059);width:100%;height:auto}.skill__content .section-title{margin-bottom:1.25rem}.band--blender .section-title:after{background:var(--white)}.skill__list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.skill__list li{border-bottom:1px solid #ffffff1f;align-items:baseline;gap:.9rem;padding-bottom:.75rem;font-size:clamp(.95rem,2vw,1.15rem);display:flex}.band--blender .skill__list li{border-bottom-color:#ffffff4d}.skill__num{font-family:var(--font-display);color:var(--brand-orange);flex-shrink:0;font-weight:700}.band--blender .skill__num{color:var(--navy)}@media (width<=560px){.skill{grid-template-columns:64px 1fr;align-items:start}.skill__logo{padding-top:.25rem}}.band--experience{background:radial-gradient(ellipse at 15% 100%, #ca68b729, transparent 55%), linear-gradient(200deg, var(--navy-2), var(--navy))}.timeline{--dot:16px;padding:0 0 0 calc(var(--dot) + 1.5rem);gap:clamp(1.75rem,4vw,2.5rem);margin:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";left:calc(var(--dot) / 2 - 1px);background:linear-gradient(to bottom, var(--brand-orange), var(--brand-light) 40%, #ca68b726);width:2px;position:absolute;top:.4rem;bottom:.4rem}.job{max-width:760px;position:relative}.job:before{content:"";left:calc(-1 * (var(--dot) + 1.5rem));width:var(--dot);height:var(--dot);background:var(--navy);border:3px solid var(--brand-light);border-radius:50%;position:absolute;top:.35rem}.job--current:before{background:var(--brand-orange);border-color:var(--brand-orange);box-shadow:0 0 0 6px #f1820f33}.job__header{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.job__role{font-family:var(--font-display);letter-spacing:.03em;margin:0;font-size:clamp(1.3rem,3vw,1.6rem);font-weight:600;line-height:1.2}.job__badge{background:var(--brand-orange);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600}.job p{margin:0}.job__company{color:var(--brand-orange);font-weight:600;margin-top:.3rem!important}.job__meta{color:#fff9;font-size:.9rem}.job__desc{color:#ffffffd9;margin-top:.6rem!important}.job__skills{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.job__skills li{color:#fffc;border:1px solid #fff3;border-radius:999px;padding:.2rem .7rem;font-size:.8rem}.footer{text-align:center;color:#fff9;background:var(--navy);padding:2.5rem 1rem 2rem;font-size:.85rem}.footer p{margin:1.25rem 0 0}.footer__title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--white);margin:0 -.2em 1.25rem 0;font-size:clamp(1.3rem,3vw,1.6rem);font-weight:700}.footer__title:after{content:"";background:var(--brand-orange);border-radius:2px;width:48px;height:3px;margin:.5rem auto 0;display:block}.footer__socials{justify-content:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.footer__social{width:48px;height:48px;color:var(--white);background:#ffffff14;border-radius:50%;place-items:center;transition:background-color .25s,transform .25s;display:grid}.footer__social svg{width:22px;height:22px}.footer__social:hover,.footer__social:focus-visible{outline:none;transform:translateY(-3px)}.footer__social--youtube:hover,.footer__social--youtube:focus-visible{background:red}.footer__social--twitch:hover,.footer__social--twitch:focus-visible{background:#9146ff}.footer__social--linkedin:hover,.footer__social--linkedin:focus-visible{background:#0a66c2}.footer__link{color:inherit;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.footer__link:hover{color:var(--white)}.footer__link:focus-visible{outline:2px solid var(--white);outline-offset:2px}.cookie-banner{left:calc(env(safe-area-inset-left,0px) + 1rem);bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);z-index:200;-webkit-backdrop-filter:blur(10px);background:#070d1fe6;border:1px solid #ffffff26;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;width:min(400px,100% - 2rem);padding:1rem 1.25rem;font-size:.9rem;display:flex;position:fixed;box-shadow:0 10px 30px #0006}.cookie-banner__text{color:#ffffffd9;flex:280px;margin:0}.cookie-banner__actions{gap:.5rem;margin-left:auto;display:flex}.cookie-banner__btn{min-height:38px;color:var(--white);font:600 .85rem/1 var(--font-body);cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:999px;padding:0 1.1rem;transition:background-color .25s,border-color .25s}.cookie-banner__btn:hover{border-color:var(--white)}.cookie-banner__btn--primary{background:var(--brand-orange);border-color:var(--brand-orange)}.cookie-banner__btn--primary:hover{background:#ff9426;border-color:#ff9426}.cookie-banner__btn:focus-visible{outline:2px solid var(--white);outline-offset:2px}
