@charset "UTF-8";.nav{position:fixed;top:0;left:0;width:100%;height:8rem;z-index:var(--z-navbar);transition:height var(--duration-base) var(--easing-emphasized),background var(--duration-theme) var(--easing-emphasized),border-color var(--duration-theme) var(--easing-emphasized),box-shadow var(--duration-base) var(--easing-emphasized);background:transparent}.nav--scrolled{height:7rem;background:var(--glass-bg-solid);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-bottom:1px solid var(--glass-border);box-shadow:0 4px 30px rgba(0,0,0,calc(.1 * var(--shadow-strength)))}.nav__container{display:flex;align-items:center;justify-content:space-between;height:100%}.nav__logo{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-accent);font-size:var(--icon-size-lg);text-decoration:none;transition:color var(--duration-theme) var(--easing-default)}.nav__logo svg{font-size:var(--icon-size-xl)}.nav__logo-text{font-family:var(--font-family-display);font-weight:var(--fw-bold);font-size:var(--font-size-md);letter-spacing:var(--tracking-display)}.nav__links{display:flex;align-items:center;gap:var(--space-xs)}@media(max-width:1024px){.nav__links{display:none}}.nav__link{position:relative;padding:var(--space-sm) var(--space-md);color:var(--color-black);font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--fw-semibold);text-decoration:none;text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--border-radius-3);transition:color var(--duration-theme) var(--easing-default),background var(--duration-theme) var(--easing-default)}.nav__link:hover{color:var(--color-accent);background:hsla(var(--primary-hue),70%,50%,.08)}.nav__link--active{color:var(--color-accent)}.nav__link-indicator{position:absolute;bottom:0;left:50%;translate:-50% 0;width:60%;height:3px;background:var(--color-accent);border-radius:var(--border-radius-pill)}.nav__actions{display:flex;align-items:center;gap:var(--space-md)}.nav__theme-toggle{width:4.4rem;height:4.4rem;display:flex;align-items:center;justify-content:center;background:hsla(var(--primary-hue),10%,50%,.15);border:1px solid var(--glass-border);border-radius:50%;color:var(--color-accent);font-size:var(--icon-size-md);cursor:pointer;transition:transform var(--duration-base) var(--easing-default),background var(--duration-theme) var(--easing-default),border-color var(--duration-theme) var(--easing-default),color var(--duration-theme) var(--easing-default),box-shadow var(--duration-base) var(--easing-default)}.nav__theme-toggle span{display:flex;align-items:center;justify-content:center}.nav__theme-toggle:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-accent);transform:scale(1.1)}.nav__theme-toggle:active{transform:scale(.9)}.nav__burger{display:none;width:4.4rem;height:4.4rem;align-items:center;justify-content:center;background:hsla(var(--primary-hue),10%,50%,.15);border:1px solid var(--glass-border);border-radius:50%;color:var(--color-dark);font-size:var(--icon-size-md);cursor:pointer;transition:transform var(--duration-base) var(--easing-default),background var(--duration-theme) var(--easing-default),border-color var(--duration-theme) var(--easing-default),color var(--duration-theme) var(--easing-default)}.nav__burger span{display:flex;align-items:center;justify-content:center}.nav__burger:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);transform:scale(1.1)}.nav__burger:active{transform:scale(.9)}@media(max-width:1024px){.nav__burger{display:flex}}.nav__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:var(--z-modal-backdrop);opacity:0;transition:opacity var(--duration-base) var(--easing-default)}.nav__backdrop--open{opacity:1}@media(prefers-reduced-motion:reduce){.nav__backdrop{transition:none}}.nav__mobile{position:fixed;top:0;right:0;width:min(85vw,400px);height:100vh;height:100dvh;overflow-y:auto;background:var(--surface-mobile-menu);border-left:1px solid var(--glass-border);box-shadow:-10px 0 40px rgba(0,0,0,calc(.25 * var(--shadow-strength)));z-index:var(--z-modal);padding:var(--space-2xl);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--duration-base) var(--easing-emphasized);will-change:transform}.nav__mobile--open{transform:translate(0)}@media(prefers-reduced-motion:reduce){.nav__mobile{transition:none}}.nav__mobile-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:4.4rem;height:4.4rem;display:flex;align-items:center;justify-content:center;background:hsla(var(--primary-hue),10%,50%,.15);border:1px solid var(--glass-border);border-radius:50%;color:var(--color-dark);font-size:var(--icon-size-md);cursor:pointer;transition:color var(--duration-theme) var(--easing-default),background var(--duration-theme) var(--easing-default),border-color var(--duration-theme) var(--easing-default)}.nav__mobile-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.nav__mobile-links{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-xl)}.nav__mobile-link{display:flex;align-items:center;min-height:4.8rem;padding:var(--space-sm) var(--space-md);color:var(--color-dark);font-family:var(--font-family-display);font-size:var(--font-size-base);font-weight:var(--fw-semibold);line-height:1.25;letter-spacing:var(--tracking-wide);text-decoration:none;text-transform:uppercase;border-left:4px solid transparent;border-radius:var(--border-radius-2);transition:color var(--duration-theme) var(--easing-default),background-color var(--duration-theme) var(--easing-default),border-color var(--duration-theme) var(--easing-default),transform var(--duration-base) var(--easing-default)}.nav__mobile-link:hover,.nav__mobile-link:focus-visible,.nav__mobile-link--active{color:var(--color-accent);background-color:hsla(var(--primary-hue),70%,50%,.1);transform:translate(4px)}.nav__mobile-link--active{border-left-color:var(--color-accent)}.nav__mobile-theme{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:auto;margin-bottom:var(--space-sm);flex-shrink:0;padding:var(--space-lg) var(--space-xl);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-2);color:var(--color-dark);font-size:var(--font-size-base);font-weight:var(--fw-semibold);cursor:pointer;transition:color var(--duration-theme) var(--easing-default),background var(--duration-theme) var(--easing-default),border-color var(--duration-theme) var(--easing-default)}.nav__mobile-theme svg{font-size:var(--icon-size-sm);color:var(--color-accent)}.nav__mobile-theme:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.nav__mobile-theme:hover svg{color:var(--color-on-primary)}.portfolio-app.bg-2 .nav--scrolled{background:var(--glass-bg-solid);border-bottom-color:var(--glass-border)}.portfolio-app.bg-2 .nav__link{color:var(--color-black)}.portfolio-app.bg-2 .nav__link:hover{color:var(--color-accent);background:hsla(var(--primary-hue),70%,50%,.15)}.portfolio-app.bg-2 .nav__burger{color:var(--color-dark);background:var(--glass-bg);border-color:var(--glass-border)}.portfolio-app.bg-2 .nav__theme-toggle{background:var(--glass-bg);border-color:var(--glass-border);color:var(--color-dark)}.portfolio-app.bg-2 .nav__theme-toggle:hover{color:var(--color-on-primary)}.portfolio-app.bg-2 .nav__mobile{background:var(--surface-mobile-menu);border-left-color:var(--glass-border)}.portfolio-app.bg-2 .nav__mobile-close{background:var(--glass-bg);border-color:var(--glass-border);color:var(--color-dark)}.portfolio-app.bg-2 .nav__mobile-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.portfolio-app.bg-2 .nav__mobile-link{color:var(--color-dark)}.portfolio-app.bg-2 .nav__mobile-link:hover,.portfolio-app.bg-2 .nav__mobile-link:focus-visible,.portfolio-app.bg-2 .nav__mobile-link--active{color:var(--color-accent);background:hsla(var(--primary-hue),70%,50%,.2)}.portfolio-app.bg-2 .nav__mobile-theme{background:var(--glass-bg);border-color:var(--glass-border);color:var(--color-dark)}.nav--animate{animation:navSlideIn var(--duration-base) var(--easing-emphasized) backwards}@media(prefers-reduced-motion:reduce){.nav--animate{animation:none}}@keyframes navSlideIn{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.nav__link-indicator{animation:indicatorIn var(--duration-base) var(--easing-emphasized) both}@media(prefers-reduced-motion:reduce){.nav__link-indicator{animation:none}}@keyframes indicatorIn{0%{opacity:0;transform:translateY(4px) scaleX(.4)}to{opacity:1;transform:none}}.nav__mobile-link--animate{animation:mobileLinkIn var(--duration-base) var(--easing-emphasized) backwards}@media(prefers-reduced-motion:reduce){.nav__mobile-link--animate{animation:none}}@keyframes mobileLinkIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.nav__icon-swap{position:relative;display:inline-flex;width:1em;height:1em;align-items:center;justify-content:center}.nav__icon{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;transition:opacity var(--duration-base) var(--easing-default),transform var(--duration-base) var(--easing-default)}.nav__icon--in{opacity:1;transform:rotate(0) scale(1)}.nav__icon--out{opacity:0;transform:rotate(-90deg) scale(.5);pointer-events:none}@media(prefers-reduced-motion:reduce){.nav__icon{transition:none}}.nav__logo{transition:transform var(--duration-base) var(--easing-default)}.nav__logo:hover{transform:scale(1.05)}.nav__logo:active{transform:scale(.95)}.gradient-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;pointer-events:none}.gradient-bg__orb{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}@media(max-width:768px){.gradient-bg__orb{filter:blur(45px)}}.gradient-bg__orb--1{width:700px;height:700px;background:radial-gradient(circle,hsla(var(--primary-hue),85%,55%,.4) 0%,hsla(var(--primary-hue),80%,45%,.2) 40%,transparent 70%);top:-250px;right:-150px;animation:orbDrift1 18s ease-in-out infinite}@media(max-width:768px){.gradient-bg__orb--1{width:450px;height:450px}}@media(prefers-reduced-motion:reduce){.gradient-bg__orb--1{animation:none}}.gradient-bg__orb--2{width:600px;height:600px;background:radial-gradient(circle,hsla(calc(var(--primary-hue) + 40),75%,50%,.35) 0%,hsla(calc(var(--primary-hue) + 40),70%,40%,.15) 40%,transparent 70%);bottom:-200px;left:-150px;animation:orbDrift2 22s ease-in-out infinite}@media(max-width:768px){.gradient-bg__orb--2{width:400px;height:400px}}@media(prefers-reduced-motion:reduce){.gradient-bg__orb--2{animation:none}}.gradient-bg__orb--3{width:500px;height:500px;background:radial-gradient(circle,hsla(calc(var(--primary-hue) - 30),65%,60%,.3) 0%,hsla(calc(var(--primary-hue) - 30),60%,50%,.1) 40%,transparent 70%);top:35%;left:25%;animation:orbDrift3 15s ease-in-out infinite}@media(max-width:768px){.gradient-bg__orb--3{width:320px;height:320px}}@media(prefers-reduced-motion:reduce){.gradient-bg__orb--3{animation:none}}.gradient-bg__orb--4{width:400px;height:400px;background:radial-gradient(circle,hsla(calc(var(--primary-hue) + 80),70%,55%,.25) 0%,transparent 70%);top:10%;left:60%;filter:blur(100px);animation:orbDrift4 20s ease-in-out infinite}@media(max-width:768px){.gradient-bg__orb--4{display:none}}@media(prefers-reduced-motion:reduce){.gradient-bg__orb--4{animation:none}}.gradient-bg__orb--5{width:350px;height:350px;background:radial-gradient(circle,hsla(calc(var(--primary-hue) - 60),60%,50%,.2) 0%,transparent 70%);bottom:20%;right:20%;filter:blur(90px);animation:orbDrift5 25s ease-in-out infinite}@media(max-width:768px){.gradient-bg__orb--5{display:none}}@media(prefers-reduced-motion:reduce){.gradient-bg__orb--5{animation:none}}.gradient-bg__particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.gradient-bg__particle{position:absolute;background:hsla(var(--primary-hue),80%,70%,.6);border-radius:50%;animation:particleFloat 15s ease-in-out infinite}.gradient-bg__particle:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;background:radial-gradient(circle,hsla(var(--primary-hue),80%,65%,.35) 0%,transparent 70%);pointer-events:none}@media(prefers-reduced-motion:reduce){.gradient-bg__particle{animation:none;opacity:.5}}.gradient-bg__shimmer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:1}.gradient-bg__shimmer:before{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(105deg,transparent 0%,hsla(var(--primary-hue),100%,80%,.03) 30%,hsla(var(--primary-hue),100%,90%,.05) 50%,hsla(var(--primary-hue),100%,80%,.03) 70%,transparent 100%);transform:translate(-100%);animation:bg-shimmer 8s ease-in-out infinite;will-change:transform}@media(prefers-reduced-motion:reduce){.gradient-bg__shimmer:before{animation:none;background:none}}.gradient-bg__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(var(--color-black-rgb),.03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--color-black-rgb),.03) 1px,transparent 1px);background-size:60px 60px;z-index:2;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black 30%,transparent 70%);mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black 30%,transparent 70%)}.gradient-bg__noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.02;z-index:3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav--open~header .gradient-bg__orb,.nav--open~header .gradient-bg__particle,.nav--open~header .gradient-bg__shimmer:before{animation-play-state:paused}@keyframes bg-shimmer{0%{transform:translate(-100%)}to{transform:translate(266%)}}@keyframes orbDrift1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.2)}66%{transform:translate(-30px,30px) scale(.9)}}@keyframes orbDrift2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-60px,30px) scale(.85)}66%{transform:translate(40px,-50px) scale(1.15)}}@keyframes orbDrift3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(70px,-30px) scale(1.2)}66%{transform:translate(-50px,40px) scale(.85)}}@keyframes orbDrift4{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,50px) scale(1.1)}66%{transform:translate(60px,-30px) scale(.95)}}@keyframes orbDrift5{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-60px) scale(.9)}66%{transform:translate(-40px,40px) scale(1.1)}}@keyframes particleFloat{0%,to{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px);opacity:0}}.portfolio-app.bg-2 .gradient-bg__grid{background-image:linear-gradient(rgba(var(--color-black-rgb),.04) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--color-black-rgb),.04) 1px,transparent 1px)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:12rem 0 6rem;background:var(--color-white);overflow:hidden}@media(max-width:1024px){.hero{padding:12rem 0 8rem;min-height:auto}}@media(max-width:600px){.hero{padding:10rem 0 4rem}}.hero__container{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:center}@media(max-width:1200px){.hero__container{gap:var(--space-2xl)}}@media(max-width:1024px){.hero__container{grid-template-columns:1fr;text-align:center;gap:var(--space-3xl)}}.hero__content{display:flex;flex-direction:column;gap:var(--space-lg)}@media(max-width:1024px){.hero__content{align-items:center;order:2}}.hero__content--enter{animation:heroContentEnter var(--duration-base) var(--easing-emphasized) both}@media(prefers-reduced-motion:reduce){.hero__content--enter{animation:none}}.hero__greeting{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-md);font-weight:var(--fw-medium);color:var(--color-dark);margin:0}.hero__wave{display:inline-block;font-size:var(--icon-size-xl);animation:wave 2.5s ease-in-out infinite;transform-origin:70% 70%}.hero__name{font-size:clamp(4rem,7vw,6.5rem);font-weight:var(--fw-extrabold);line-height:1.05;letter-spacing:var(--tracking-display);margin:0;position:relative}@media(max-width:600px){.hero__name{font-size:clamp(3rem,12vw,4.5rem)}}.hero__name-gradient{background:linear-gradient(135deg,var(--color-black) 0%,var(--color-accent) 40%,hsla(calc(var(--primary-hue) + 40),80%,55%,1) 60%,var(--color-accent) 80%,var(--color-black) 100%);background-size:100% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 30px hsla(var(--primary-hue),70%,50%,.2))}.hero__role{font-size:var(--font-size-xl);font-weight:var(--fw-medium);color:var(--color-dark);min-height:calc(var(--font-size-xl) * 1.4)}@media(max-width:600px){.hero__role{font-size:var(--font-size-md);min-height:calc(var(--font-size-md) * 1.4)}}.hero__role-static{color:var(--color-dark)}.hero__role-typed{color:var(--color-accent);font-weight:var(--fw-semibold)}.hero__bio{font-size:var(--font-size-base);line-height:var(--line-height-loose);color:var(--color-dark);max-width:50ch;margin:0}.hero__bio strong{color:var(--color-accent);font-weight:var(--fw-semibold)}@media(max-width:1024px){.hero__bio{max-width:55ch}}.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-sm)}@media(max-width:1024px){.hero__cta{justify-content:center}}@media(max-width:600px){.hero__cta{flex-direction:column;width:100%}.hero__cta .hero__btn{width:100%}}.hero__btn{position:relative;overflow:hidden}.hero__btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--duration-base) var(--easing-default)}.hero__btn:hover:after{left:100%}.hero__btn:hover .hero__btn-icon{transform:translate(6px)}.hero__btn-icon{font-size:var(--icon-size-sm);transition:transform var(--duration-base) var(--easing-default)}.hero__social{display:flex;gap:var(--space-md);margin-top:var(--space-xs)}@media(max-width:1024px){.hero__social{justify-content:center}}.hero__social-link{width:4.8rem;height:4.8rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--color-dark);font-size:var(--icon-size-xl);transition:var(--transition-base)}.hero__social-link:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);transform:translateY(-4px) scale(1.1);box-shadow:var(--shadow-accent)}.hero__visual{display:flex;flex-direction:column;align-items:center;gap:var(--space-5xl)}@media(max-width:1024px){.hero__visual{order:1}}.hero__image-wrapper{position:relative;width:38rem;height:38rem}@media(max-width:1200px){.hero__image-wrapper{width:32rem;height:32rem}}@media(max-width:1024px){.hero__image-wrapper{width:30rem;height:30rem}}@media(max-width:600px){.hero__image-wrapper{width:26rem;height:26rem}}@media(max-width:375px){.hero__image-wrapper{width:22rem;height:22rem}}.hero__image-wrapper:hover .hero__image{transform:scale(1.05)}.hero__ring{position:absolute;border-radius:50%;pointer-events:none}.hero__ring--outer{top:-30px;right:-30px;bottom:-30px;left:-30px;border:2px dashed var(--color-accent);opacity:.3;animation:ringPulse 3s ease-in-out infinite}.hero__ring--inner{top:-15px;right:-15px;bottom:-15px;left:-15px;border:1px solid var(--color-accent);opacity:.2;animation:ringPulse 3s ease-in-out infinite .5s}.hero__badge{position:absolute;padding:var(--space-xs) var(--space-md);background:var(--glass-bg-solid);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--glass-border);border-radius:var(--border-radius-pill);font-size:var(--font-size-sm);font-weight:var(--fw-semibold);color:var(--color-black);box-shadow:var(--shadow-md),0 0 0 1px hsla(var(--primary-hue),70%,50%,.1);z-index:var(--z-elevated);white-space:nowrap;transition:var(--transition-base)}.hero__badge:hover{box-shadow:var(--shadow-lg),0 0 0 2px var(--color-accent);transform:scale(1.05)}.hero__badge.badge--1{top:5%;right:-18%}@media(max-width:1200px){.hero__badge.badge--1{right:-12%}}@media(max-width:1024px){.hero__badge.badge--1{top:0;right:-5%}}.hero__badge.badge--2{bottom:30%;left:-22%}@media(max-width:1200px){.hero__badge.badge--2{left:-15%}}@media(max-width:1024px){.hero__badge.badge--2{bottom:25%;left:-14%}}.hero__badge.badge--3{bottom:5%;right:-12%}@media(max-width:1200px){.hero__badge.badge--3{right:-8%}}@media(max-width:1024px){.hero__badge.badge--3{bottom:0;right:0}}@media(max-width:1200px){.hero__badge{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-md)}}@media(max-width:600px){.hero__badge{display:none}}.hero__badge-inner{display:flex;align-items:center;gap:var(--space-xs)}.hero__badge-icon{display:flex;font-size:1.2em}.hero__image-container{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--color-accent),0 0 0 8px hsla(var(--primary-hue),70%,50%,.2),0 0 60px hsla(var(--primary-hue),70%,50%,.4),0 25px 80px #00000040}.hero__image-container:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:conic-gradient(from 0deg,var(--color-accent),hsla(calc(var(--primary-hue) + 60),70%,55%,1),var(--color-accent),hsla(calc(var(--primary-hue) + 60),70%,55%,1),var(--color-accent));transform:rotate(0);animation:borderGlow 4s linear infinite;will-change:transform;z-index:-1}@media(prefers-reduced-motion:reduce){.hero__image-container:before{animation:none}}.hero__image{width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform var(--duration-base) var(--easing-default)}.hero__image-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,hsla(var(--primary-hue),50%,30%,.25) 100%);pointer-events:none}.hero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);padding:var(--space-xl) var(--space-2xl);background:var(--glass-bg-solid);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--glass-border);border-radius:var(--border-radius-1);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.hero__stats:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transform:translate(-100%);animation:statsShine 6s ease-in-out infinite;will-change:transform}@media(max-width:1200px){.hero__stats{grid-template-columns:repeat(2,1fr);gap:var(--space-md);padding:var(--space-lg)}.hero__stats .hero__stat:after{display:none}}@media(max-width:600px){.hero__stats{width:100%;padding:var(--space-lg);gap:var(--space-sm)}}@media(max-width:375px){.hero__stats{padding:var(--space-md)}}.hero__stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2xs);position:relative}.hero__stat:not(:last-child):after{content:"";position:absolute;right:calc(var(--space-lg) / -2);top:50%;transform:translateY(-50%);height:60%;width:1px;background:var(--glass-border)}.hero__stat-number{font-size:var(--icon-size-xl);font-weight:var(--fw-extrabold);color:var(--color-accent);line-height:1;letter-spacing:var(--tracking-display)}@media(max-width:600px){.hero__stat-number{font-size:var(--icon-size-lg)}}@media(max-width:375px){.hero__stat-number{font-size:var(--font-size-md)}}.hero__stat-label{font-size:var(--font-size-sm);font-weight:var(--fw-medium);color:var(--color-dark);white-space:nowrap}@keyframes wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}@keyframes ringPulse{0%,to{opacity:.2}50%{opacity:.35}}@keyframes borderGlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes statsShine{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.portfolio-app.bg-2 .hero{background:var(--color-white)}.portfolio-app.bg-2 .hero__badge{background:var(--glass-bg-solid);border-color:var(--glass-border);color:var(--color-black)}.portfolio-app.bg-2 .hero__stats{background:var(--glass-bg-solid);border-color:var(--glass-border)}.portfolio-app.bg-2 .hero__social-link{background:var(--glass-bg);border-color:var(--glass-border);color:var(--color-black)}.portfolio-app.bg-2 .hero__social-link:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.portfolio-app.bg-2 .hero__image-container{box-shadow:0 0 0 4px var(--color-accent),0 0 0 8px hsla(var(--primary-hue),70%,50%,.2),0 0 60px hsla(var(--primary-hue),70%,50%,.35),0 25px 80px #00000080}@media(prefers-reduced-motion:reduce){.hero__image-container:before{animation:none}.hero__ring{animation:none}.hero__stats:before{animation:none}.hero__btn:after{display:none}}@keyframes heroContentEnter{0%{transform:translateY(20px)}to{transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes floatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes rotateRingOuter{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotateRingInner{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.hero__image-wrapper--animate{animation:fadeInScale var(--duration-base) var(--easing-emphasized) .3s both}@media(prefers-reduced-motion:reduce){.hero__image-wrapper--animate{animation:none;opacity:1}}.hero__badge--animate{animation:fadeInUp var(--duration-base) var(--easing-emphasized) backwards}@media(prefers-reduced-motion:reduce){.hero__badge--animate{animation:none}}.hero__badge-inner--float{animation:floatBadge 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hero__badge-inner--float{animation:none}}.hero__stats--animate{animation:fadeInUp var(--duration-base) var(--easing-emphasized) .9s both}@media(prefers-reduced-motion:reduce){.hero__stats--animate{animation:none;opacity:1}}.hero__stat--animate{animation:fadeInUp var(--duration-base) var(--easing-emphasized) backwards}@media(prefers-reduced-motion:reduce){.hero__stat--animate{animation:none}}.hero__ring--outer{animation:rotateRingOuter 25s linear infinite,ringPulse 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hero__ring--outer{animation:none}}.hero__ring--inner{animation:rotateRingInner 18s linear infinite,ringPulse 3s ease-in-out infinite .5s}@media(prefers-reduced-motion:reduce){.hero__ring--inner{animation:none}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-2xl);background:var(--color-light);color:var(--color-dark)}.error-boundary__content{text-align:center;max-width:400px}.error-boundary__icon{display:block;font-size:4.8rem;margin-bottom:var(--space-lg)}.error-boundary__title{font-size:var(--font-size-2xl);font-weight:var(--fw-bold);color:var(--color-black);margin:0 0 var(--space-md)}.error-boundary__message{font-size:var(--font-size-base);line-height:var(--line-height-body);margin:0 0 var(--space-xl)}.error-boundary__btn{min-width:160px}:root{--primary-hue: 270;--black-lightness: 15%;--dark-lightness: 38%;--light-lightness: 94%;--white-lightness: 100%;--color-primary-saturation: 89%;--color-primary-lightness: 36%;--color-accent-saturation: var(--color-primary-saturation);--color-accent-lightness: var(--color-primary-lightness);--color-on-primary: #fff;--color-primary: hsl( var(--primary-hue), var(--color-primary-saturation), var(--color-primary-lightness) );--color-accent: hsl( var(--primary-hue), var(--color-accent-saturation), var(--color-accent-lightness) );--color-white: hsl(0, 5%, var(--white-lightness));--color-light: hsl(var(--primary-hue), 5%, var(--light-lightness));--color-black: hsl(var(--primary-hue), 5%, var(--black-lightness));--color-dark: hsl(var(--primary-hue), 5%, var(--dark-lightness));--container-max: 136rem;--container-padding: 3.2rem;--space-2xs: .4rem;--space-xs: .8rem;--space-sm: 1.2rem;--space-md: 1.6rem;--space-lg: 2rem;--space-xl: 2.4rem;--space-2xl: 3.2rem;--space-3xl: 4rem;--space-4xl: 4.8rem;--space-5xl: 6.4rem;--space-6xl: 8rem;--font-family-body: "Roboto", sans-serif;--font-family-display: "Inter", sans-serif;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--font-size-xs: 1.2rem;--font-size-sm: 1.4rem;--font-size-base: 1.6rem;--font-size-md: 1.8rem;--font-size-lg: 2rem;--font-size-xl: 2.4rem;--font-size-h2-mobile: 2.6rem;--font-size-2xl: 3rem;--font-size-h1-responsive: 3.4rem;--font-size-3xl: 4rem;--icon-size-sm: 1.8rem;--icon-size-md: 2rem;--icon-size-lg: 2.4rem;--icon-size-xl: 2.8rem;--tracking-tight: 0;--tracking-display: -.02em;--tracking-wide: .05em;--line-height-body: 1.7;--line-height-heading: 1.15;--line-height-tight: 1.6;--line-height-loose: 1.8;--border-radius-1: 2rem;--border-radius-2: 1.2rem;--border-radius-3: .8rem;--border-radius-pill: 100px;--section-padding-block: var(--space-4xl);--z-elevated: 10;--z-navbar: 100;--z-modal-backdrop: 200;--z-modal: 210;--z-overlay: 300;--duration-base: .3s;--duration-theme: .3s;--easing-default: ease;--easing-smooth: ease-in-out;--easing-emphasized: cubic-bezier(.4, 0, .2, 1);--reveal-transition: opacity var(--duration-base) var(--easing-emphasized), transform var(--duration-base) var(--easing-emphasized);--transition-fast: background var(--duration-theme) var(--easing-default), border-color var(--duration-theme) var(--easing-default), color var(--duration-theme) var(--easing-default), box-shadow var(--duration-base) var(--easing-default), transform var(--duration-base) var(--easing-default);--transition-base: background var(--duration-theme) var(--easing-smooth), border-color var(--duration-theme) var(--easing-smooth), color var(--duration-theme) var(--easing-smooth), box-shadow var(--duration-base) var(--easing-smooth), transform var(--duration-base) var(--easing-smooth);--glass-bg: rgba(255, 255, 255, .08);--glass-bg-solid: rgba(255, 255, 255, .85);--glass-border: hsla(var(--primary-hue), 20%, 30%, .18);--glass-blur: 20px;--glass-filter: blur(var(--glass-blur));--surface-mobile-menu: hsl(var(--primary-hue), 15%, 97%);--color-black-rgb: 39, 39, 42;--shadow-strength: 1;--shadow-sm: 0 4px 20px rgba(0, 0, 0, calc(.08 * var(--shadow-strength)));--shadow-md: 0 8px 32px rgba(0, 0, 0, calc(.12 * var(--shadow-strength)));--shadow-lg: 0 12px 40px rgba(0, 0, 0, calc(.14 * var(--shadow-strength)));--shadow-xl: 0 20px 40px rgba(0, 0, 0, calc(.16 * var(--shadow-strength)));--shadow-accent: 0 8px 25px hsla(var(--primary-hue), 70%, 50%, .35);--shadow-accent-strong: 0 10px 30px hsla(var(--primary-hue), 70%, 50%, .45);--focus-ring-color: var(--color-accent);--focus-ring-offset: 3px;--focus-ring-width: 2px;--focus-ring-glow: 4px;--focus-ring-glow-color: color-mix( in srgb, var(--color-accent) 22%, transparent );--scrollbar-track: hsl(var(--primary-hue), 5%, 94%);color-scheme:light}html[data-theme=dark]{--scrollbar-track: hsl(var(--primary-hue), 10%, 14%);color-scheme:dark}@media(max-width:768px){:root{--glass-filter: none}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}ul,ol{list-style:none}a{text-decoration:none}button,input,textarea,select{font:inherit}button{border:0;background:none}html{font-size:62.5%;scroll-behavior:smooth;scroll-padding-top:8rem;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-family-body);font-weight:var(--fw-regular);line-height:var(--line-height-body);font-size:var(--font-size-base);text-rendering:optimizeLegibility}p{line-height:var(--line-height-body)}.text-highlight{color:var(--color-black);font-weight:var(--fw-bold)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.portfolio-app.bg-1{--color-accent: var(--color-primary);--color-accent-saturation: var(--color-primary-saturation);--color-accent-lightness: var(--color-primary-lightness)}.portfolio-app.bg-2{--black-lightness: 97%;--dark-lightness: 85%;--light-lightness: 14%;--white-lightness: 8%;--color-white: hsl(var(--primary-hue), 12%, var(--white-lightness));--color-light: hsl(var(--primary-hue), 10%, var(--light-lightness));--color-black: hsl(0, 0%, var(--black-lightness));--color-dark: hsl(0, 0%, var(--dark-lightness));--color-accent-lightness: 72%;--color-accent-saturation: 80%;--glass-bg: rgba(0, 0, 0, .4);--glass-bg-solid: hsl(var(--primary-hue), 15%, 12%);--glass-border: rgba(255, 255, 255, .12);--surface-mobile-menu: hsl(var(--primary-hue), 18%, 10%);--surface-card-dark: hsl(var(--primary-hue), 18%, 12%);--surface-raised-dark: hsl(var(--primary-hue), 18%, 19%);--color-black-rgb: 247, 247, 250;--shadow-strength: 3.2}.portfolio-app{color:var(--color-dark);--color-primary: hsl( var(--primary-hue), var(--color-primary-saturation), var(--color-primary-lightness) );--color-accent: hsl( var(--primary-hue), var(--color-accent-saturation), var(--color-accent-lightness) )}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}section{padding:var(--section-padding-block) 0;background:var(--color-light)}section:nth-child(2n){background:var(--color-white)}a{transition:color var(--duration-theme) var(--easing-default),background-color var(--duration-theme) var(--easing-default)}.inline-link{color:var(--color-accent);font-weight:var(--fw-semibold);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.12em}.inline-link:hover{color:var(--color-primary)}.animated-link{position:relative;display:inline-block;color:var(--color-accent);text-decoration:none}.animated-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-accent);transform:translate(-50%);transition:width var(--duration-base) var(--easing-smooth)}.animated-link:hover:after{width:100%}.animated-link:hover{color:var(--color-primary)}.animated-link:hover:after{background:var(--color-primary)}.reveal{opacity:0;transform:translateY(30px);transition:var(--reveal-transition)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:var(--duration-base)}.reveal--delay-2{transition-delay:calc(2 * var(--duration-base))}.reveal-item{opacity:0;transform:translateY(20px);transition:var(--reveal-transition);transition-delay:var(--reveal-delay, 0s)}.reveal--visible .reveal-item{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal,.reveal-item{opacity:1;transform:none;transition:none}}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-heading);color:var(--color-black);font-family:var(--font-family-display);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);text-wrap:balance}h1{font-size:var(--font-size-3xl);font-weight:var(--fw-bold);text-transform:capitalize}h2{font-size:var(--font-size-2xl);text-transform:capitalize}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-md)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}img{display:block;width:100%;object-fit:cover}.btn{display:inline-flex;width:fit-content;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-2xl);font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--fw-semibold);line-height:1.1;text-decoration:none;white-space:nowrap;border:2px solid transparent;border-radius:var(--border-radius-pill);cursor:pointer;transition:var(--transition-base)}.btn svg{font-size:1em;flex-shrink:0}.btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-accent)}.btn--primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-accent-strong)}.btn--outline{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}.btn--outline:hover{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);transform:translateY(-3px)}.btn--sm{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm)}.btn:active{transform:translateY(-1px)}.portfolio-app.bg-2 .btn--outline{background:hsla(var(--primary-hue),60%,55%,.22);color:hsl(var(--primary-hue),85%,88%);border-color:hsla(var(--primary-hue),70%,65%,.55)}.portfolio-app.bg-2 .btn--outline:hover{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}@media screen and (max-width:1024px){:root{--container-padding: 2.4rem}}@media screen and (max-width:480px){:root{--container-padding: 1.6rem}}@media screen and (max-width:1024px){h1{font-size:var(--font-size-h1-responsive)}}@media screen and (max-width:600px){h1{font-size:var(--font-size-h1-responsive)}h2{font-size:var(--font-size-h2-mobile)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}}.section-heading{font-family:var(--font-family-display);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animated-link:after{transition:none!important}}a,button{cursor:pointer}::selection{background:hsla(var(--primary-hue),70%,50%,.3);color:inherit}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:hsla(var(--primary-hue),50%,50%,.4);border-radius:var(--border-radius-pill);border:2px solid var(--scrollbar-track)}::-webkit-scrollbar-thumb:hover{background:hsla(var(--primary-hue),50%,50%,.6)}*{scrollbar-width:thin;scrollbar-color:hsla(var(--primary-hue),50%,50%,.4) var(--scrollbar-track)}:focus{outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-3);transition:outline-offset var(--duration-base) var(--easing-default)}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 var(--focus-ring-glow) var(--focus-ring-glow-color)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:0;box-shadow:0 0 0 var(--focus-ring-glow) var(--focus-ring-glow-color)}
