:root{--theme-bg:#a3e635;--theme-bg-alt:#8bc92d;--theme-text:#0a0a0a;--theme-text-secondary:#1a1a1a;--theme-text-muted:#2a2a2a;--theme-border:#7cb82a;--theme-nav-bg:#fafaf9e6;--dark-bg:#0a0a0a;--dark-bg-alt:#111;--dark-text:#fafafa;--dark-text-secondary:#a1a1a1;--dark-text-muted:#525252;--dark-border:#262626;--dark-nav-bg:#0a0a0ae6;--light-bg:#fafaf9;--light-bg-alt:#f5f5f4;--light-text:#0a0a0a;--light-text-secondary:#404040;--light-text-muted:#737373;--light-border:#e5e5e5;--accent:#a3e635;--accent-dim:#a3e63514;--transition-color:#a3e635;--font-sans:"Cabinet Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-4xl:3.052rem;--text-5xl:3.815rem;--text-6xl:4.768rem;--text-7xl:5.96rem;--tracking-tight:-.03em;--tracking-normal:-.01em;--tracking-wide:.1em;--tracking-caps:.15em;--leading-none:1;--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.8;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-8:4rem;--space-10:5rem;--space-12:6rem;--space-16:8rem;--space-20:10rem;--space-24:12rem;--duration-fast:.2s;--duration-normal:.4s;--duration-slow:.6s;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--grid-columns:12;--grid-gap:var(--space-3);--container-max:87.5rem;--container-padding:var(--space-4)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;-webkit-text-size-adjust:100%;scrollbar-width:none;-ms-overflow-style:none;font-size:100%}html::-webkit-scrollbar{display:none}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-normal);background-color:var(--theme-bg);color:var(--theme-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .1s,color .1s;overflow-x:hidden}::selection{background:var(--accent);color:var(--dark-bg)}a{color:inherit;text-decoration:none}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}h1,h2,h3{font-family:var(--font-sans);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:inherit}h4,h5,h6{font-family:var(--font-sans);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);color:inherit}h1{font-size:clamp(var(--text-4xl),8vw,var(--text-6xl))}h2{font-size:clamp(var(--text-3xl),5vw,var(--text-5xl))}h3{font-size:clamp(var(--text-2xl),4vw,var(--text-4xl))}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{font-family:var(--font-sans);font-weight:400;line-height:var(--leading-relaxed)}strong,b{font-weight:500}.heading-display{font-family:var(--font-sans);font-size:clamp(var(--text-5xl),10vw,var(--text-7xl));font-weight:500;line-height:var(--leading-none);letter-spacing:var(--tracking-tight)}.heading-xl{font-family:var(--font-sans);font-size:clamp(var(--text-4xl),6vw,var(--text-6xl));font-weight:500;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.heading-lg{font-family:var(--font-sans);font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));font-weight:500;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.heading-md{font-family:var(--font-sans);font-size:clamp(var(--text-2xl),3vw,var(--text-4xl));font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-normal)}.heading-sm{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-normal)}.body-lg{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--theme-text-secondary)}.body-base{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--theme-text-secondary)}.body-sm{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--theme-text-muted)}.label{font-family:var(--font-sans);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--accent);font-weight:500}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.container{width:100%;max-width:var(--container-max);padding-left:var(--container-padding);padding-right:var(--container-padding);margin:0 auto}.grid{grid-template-columns:repeat(var(--grid-columns),1fr);gap:var(--grid-gap);display:grid}@media (max-width:64rem){:root{--grid-columns:8;--container-padding:var(--space-3)}}@media (max-width:40rem){:root{--grid-columns:4;--container-padding:var(--space-2)}}.btn-primary{align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-4);background:var(--accent);color:var(--dark-bg);font-family:var(--font-sans);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);transition:transform .2s var(--ease-out);transform-style:preserve-3d;border-radius:0;font-weight:500;display:inline-flex}.btn-primary:hover{transform:translateY(-2px)}.will-animate{will-change:transform,opacity}.split-line{display:block;overflow:hidden}.split-line-inner{display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:64rem){.hide-tablet{display:none!important}.mobile-full{grid-column:1/-1!important}}@media (max-width:40rem){.hide-mobile{display:none!important}.mobile-full,.grid>*{grid-column:1/-1!important}.grid{gap:var(--space-4)}section{padding-top:var(--space-8)!important;padding-bottom:var(--space-8)!important}.heading-display{font-size:clamp(2.5rem,12vw,4rem)!important}.heading-xl{font-size:clamp(2rem,8vw,3rem)!important}.heading-lg{font-size:clamp(1.75rem,6vw,2.5rem)!important}.btn-primary{width:auto;height:auto;padding:var(--space-3)var(--space-5)}.hero-image-container{margin-top:var(--space-6);min-height:50vh!important}.marquee-disable-mobile{animation:none!important}.project-row-mobile{padding:var(--space-4)0!important}.experience-item-mobile .grid{gap:var(--space-3);flex-direction:column;display:flex!important}}@media (max-width:24rem){:root{--container-padding:var(--space-3)}.heading-display{font-size:2rem!important}.btn-primary{padding:var(--space-3)var(--space-4);font-size:var(--text-sm)}}
