:root{--color-bg:#0a0a0a;--color-primary:#f5f5f5;--color-secondary:#9ca3af;--color-border:#1f1f1f;--color-accent:#3b82f6;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--font-family:"Space Grotesk", sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--font-size-body:1.125rem;--font-size-body-mobile:1rem;--line-height-body:1.7;--max-width:960px;--padding-mobile:2rem;--padding-desktop:4rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-primary);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);color:var(--color-primary);margin:0}p{margin:0}::selection{background:var(--color-accent);color:var(--color-bg)}@media (width<=768px){body{font-size:var(--font-size-body-mobile)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transform:none!important}}.container{max-width:var(--max-width);padding:var(--padding-mobile);margin:0 auto}@media (width>=769px){.container{padding:var(--padding-desktop)}}.hero{margin-bottom:4rem;padding-top:6rem;padding-bottom:4rem;animation:.8s ease-out fadeIn;position:relative}.hero:after{content:"";background:var(--color-accent);width:0;height:2px;animation:.8s cubic-bezier(.16,1,.3,1) .6s forwards lineGrow;position:absolute;bottom:0;left:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroEntrance{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lineGrow{0%{width:0}to{width:80px}}@keyframes lineGrowDesktop{0%{width:0}to{width:120px}}.hero h1{font-size:5rem;font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin-bottom:var(--spacing-xl);color:var(--color-accent);cursor:default;line-height:.95;transition:opacity .3s cubic-bezier(.16,1,.3,1);animation:1s cubic-bezier(.16,1,.3,1) both heroEntrance}.hero h1:hover{opacity:.7}.tagline{font-size:1.75rem;font-weight:var(--font-weight-light);color:var(--color-primary);letter-spacing:-.01em;max-width:100%;line-height:1.5;animation:1s cubic-bezier(.16,1,.3,1) .3s both fadeIn}@media (width>=769px){.hero{margin-bottom:6rem;padding-top:8rem;padding-bottom:6rem}.hero h1{letter-spacing:-.04em;font-size:10rem}.tagline{font-size:2.25rem}.hero:after{animation:.8s cubic-bezier(.16,1,.3,1) .6s forwards lineGrowDesktop}}@media (width<=768px){.hero{padding-top:var(--spacing-2xl);margin-bottom:var(--spacing-3xl)}.hero h1{font-size:4rem}.tagline{font-size:1.5rem}}.about{margin-bottom:4rem;padding-bottom:4rem;animation:.8s ease-out .2s both fadeIn;position:relative}.about:after{content:"";background:var(--color-accent);width:0;height:2px;animation:.8s cubic-bezier(.16,1,.3,1) .8s forwards lineGrow;position:absolute;bottom:0;left:0}.about h2{font-size:.875rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.15em;color:var(--color-secondary);margin-bottom:var(--spacing-2xl);cursor:default;transition:color .3s cubic-bezier(.16,1,.3,1)}.about h2:hover{color:var(--color-accent)}.about p{margin-bottom:var(--spacing-xl);font-size:1.125rem;line-height:1.75}.about .linkedin-button{margin-top:var(--spacing-2xl);animation:.8s ease-out .5s both fadeIn}@media (width>=769px){.about{margin-bottom:6rem;padding-bottom:6rem}.about p{font-size:1.25rem}.about .linkedin-button{margin-top:var(--spacing-xl)}.about:after{animation:.8s cubic-bezier(.16,1,.3,1) .8s forwards lineGrowDesktop}}.experience{padding-bottom:8rem;animation:.8s ease-out .6s both fadeIn}.experience h2{font-size:.875rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.15em;color:var(--color-secondary);margin-bottom:var(--spacing-2xl);cursor:default;transition:color .3s cubic-bezier(.16,1,.3,1)}.experience h2:hover{color:var(--color-accent)}.experience-grid{flex-direction:column;gap:0;display:flex}.experience-card{padding:var(--spacing-xl) 0;border-bottom:1px solid var(--color-border);cursor:default;transition:all .3s cubic-bezier(.16,1,.3,1)}.experience-card:first-child{padding-top:0}.experience-card:last-child{border-bottom:none}.experience-card:hover{border-color:var(--color-accent);transform:translate(4px)}.experience-card h3{font-size:1.25rem;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin-bottom:var(--spacing-md);color:var(--color-primary);transition:color .3s cubic-bezier(.16,1,.3,1)}.experience-card:hover h3{color:var(--color-accent)}.experience-card p{color:var(--color-secondary);line-height:1.7}@media (width>=769px){.experience{padding-bottom:10rem}.experience-card h3{font-size:1.5rem}}.linkedin-button{font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-primary);border:2px solid var(--color-border);letter-spacing:.02em;padding:1.5rem 3rem;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-block}.linkedin-button:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-4px)scale(1.02)}.linkedin-button:active{transform:translateY(-2px)scale(.98)}.linkedin-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-color:var(--color-accent)}
