.content-section.homepage-intro-section{padding:var(--space-xl-2xl) var(--space-m-l);min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden}.page-h2{position:absolute;left:-9999px}.intro-content{z-index:1}.intro-greeting{font-size:var(--step-2);font-weight:var(--font-weight-h5);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);opacity:1;transform:none}.animate-hero .intro-greeting{animation:fadeInUp .6s ease-out .2s both;will-change:transform}.intro-role{font-size:var(--step-7);font-family:var(--m3-font-family-display);font-weight:var(--font-weight-h1);line-height:var(--font-line-height-heading-tight);letter-spacing:-.02em;color:var(--color-text-primary);margin:var(--space-xs) 0 var(--space-s);opacity:1;transform:none}.animate-hero .intro-role{animation:fadeInUp .7s ease-out .4s both;will-change:transform}.intro-tagline{font-size:var(--step-3);font-weight:420;line-height:var(--font-line-height-body);letter-spacing:-.005em;color:var(--color-text-tertiary);max-width:45ch;margin:0 auto var(--space-xl);opacity:1;transform:none}.animate-hero .intro-tagline{animation:fadeInUp .8s ease-out .6s both;will-change:transform}.resume-button-wrapper{opacity:1;transform:none}.animate-hero .resume-button-wrapper{animation:fadeInUp .8s ease-out .8s both;will-change:transform}.resume-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--space-2xl);padding:0 var(--space-m-l);font-size:var(--step-1);font-family:var(--m3-font-family-body);font-weight:600;letter-spacing:.01em;color:var(--color-on-accent);background-color:var(--color-accent);border:1px solid color-mix(in oklab,var(--color-accent) 70%,black 30%);border-radius:var(--space-3xl);text-decoration:none;box-shadow:0 var(--space-s) var(--space-xl) color-mix(in oklab,var(--color-accent) 30%,black 70%);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}@media(hover:hover){.resume-link:hover{background-color:color-mix(in oklab,var(--color-accent) 85%,black 15%);border-color:color-mix(in oklab,var(--color-accent) 60%,black 40%);box-shadow:0 var(--space-m) var(--space-2xl) color-mix(in oklab,var(--color-accent) 45%,black 55%);transform:translateY(calc(var(--space-3xs) * -1))}}.resume-link:focus-visible{outline:3px solid color-mix(in oklab,var(--color-accent) 45%,white 55%);outline-offset:var(--space-3xs);box-shadow:0 var(--space-m) var(--space-2xl) color-mix(in oklab,var(--color-accent) 45%,black 55%);transform:translateY(calc(var(--space-3xs) * -.5))}.resume-link:visited{color:var(--color-on-accent)}.resume-link:active{background-color:color-mix(in oklab,var(--color-accent) 70%,black 30%);border-color:color-mix(in oklab,var(--color-accent) 60%,black 40%);box-shadow:0 6px 16px color-mix(in oklab,var(--color-accent) 35%,black 65%);transform:translateY(0)}@keyframes fadeInUp{0%{transform:translateY(var(--space-s));opacity:1}to{transform:translateY(0);opacity:1}}.background-shapes{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;z-index:-1;pointer-events:none}.shape{position:absolute;background:radial-gradient(circle at center,var(--color-accent) 0%,transparent 70%);opacity:.35;filter:blur(var(--space-2xl-3xl));will-change:transform,opacity;animation:ambientFloat 20s infinite ease-in-out alternate;pointer-events:none}.shape1{width:clamp(30rem,45vw,60rem);height:clamp(30rem,45vw,60rem);top:-10%;left:-5%;border-radius:40% 60% 70% 30%/40% 50% 60%;animation-duration:25s;opacity:.35}.shape2{width:clamp(25rem,40vw,50rem);height:clamp(20rem,30vw,45rem);top:50%;left:70%;border-radius:60% 40% 30% 70%/50% 60% 40% 50%;animation-duration:30s;animation-delay:-5s;opacity:.3}.shape3{width:clamp(20rem,25vw,40rem);height:clamp(25rem,30vw,45rem);top:70%;left:10%;border-radius:30% 70% 60% 40%/50% 40% 60% 50%;animation-duration:22s;animation-delay:-2s;opacity:.25}@keyframes ambientFloat{0%{transform:translate(0) scale(1) rotate(0)}33%{transform:translate(3%,5%) scale(1.08) rotate(5deg)}66%{transform:translate(-4%,3%) scale(.92) rotate(-3deg)}to{transform:translate(0) scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.shape{animation:none;opacity:.1}}
