:root{--color-background: hsl(var(--background));--color-surface: hsl(var(--background));--color-border: hsl(var(--border));--color-text-primary: hsl(var(--foreground));--color-accent: hsl(var(--accent));--color-accent-hover: hsl(var(--accent-hover));--color-accent-bg: hsla(var(--accent), .1);--color-accent-border: hsla(var(--accent), .3);--color-muted: hsl(var(--muted));--color-text-on-primary: hsl(var(--accent-foreground))}:root{--background: 0 0% 4%;--foreground: 0 0% 98%;--muted: 142 76% 36%;--muted-foreground: 142 76% 46%;--accent: 142 100% 50%;--accent-foreground: 0 0% 0%;--border: 142 76% 36%;--color-background: hsl(var(--background));--color-surface: hsl(var(--background));--color-surface-hover: hsl(0 0% 6%);--color-border: hsl(var(--border));--color-border-hover: hsl(142 76% 46%);--color-text-primary: hsl(var(--foreground));--color-text-secondary: hsl(240 5% 65%);--color-text-tertiary: hsl(240 4% 46%);--color-text-on-primary: hsl(var(--accent-foreground));--color-text-on-accent: hsl(var(--accent-foreground));--color-accent: hsl(var(--accent));--color-accent-hover: hsl(142 100% 60%);--color-accent-bg: hsla(var(--accent), .1);--color-accent-border: hsla(var(--accent), .3);--color-highlight: 65 94% 47%;--color-highlight-hover: 65 100% 58%;--color-highlight-overlay: hsla(var(--color-highlight), .1);--color-highlight-border: hsla(var(--color-highlight), .3);--color-muted: hsl(240 6% 10%);--color-muted-hover: hsl(240 6% 17%);--color-muted-bg: hsla(240 6% 17% / .1);--color-success: 160 84% 39%;--color-success-bg: hsla(160 84% 39% / .1);--color-warning: 38 92% 50%;--color-warning-bg: hsla(38 92% 50% / .1);--color-error: 0 84% 60%;--color-error-bg: hsla(0 84% 60% / .1);--font-display: "Space Grotesk", "Inter", sans-serif;--font-body: "Inter", "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", monospace;--text-hero: clamp(2.5rem, 10vw, 8rem);--text-display: clamp(2rem, 6vw, 4.5rem);--text-section: clamp(1.75rem, 4vw, 3rem);--text-card-title: clamp(1.25rem, 3vw, 2rem);--text-body: clamp(1rem, 2vw, 1.125rem);--text-small: clamp(.8125rem, 1.5vw, .9375rem);--text-tiny: clamp(.6875rem, 1.2vw, .8125rem);--text-massive-numbers: clamp(5rem, 12vw, 10rem);--text-large-numbers: clamp(3rem, 8vw, 6rem);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-heavy: 800;--letter-spacing-tight: -.05em;--letter-spacing-tight-ish: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .1em;--leading-snug: 1.1;--leading-tight: 1.25;--leading-normal: 1.6;--leading-loose: 1.8;--section-padding: clamp(3rem, 8vw, 6rem);--subsection-padding: clamp(2rem, 6vw, 4rem);--dense-padding: clamp(1.5rem, 4vw, 2.5rem);--card-padding: clamp(1.25rem, 3vw, 2rem);--gap-standard: clamp(1rem, 3vw, 2rem);--gap-tight: clamp(.5rem, 2vw, 1rem);--gap-loose: clamp(1.5rem, 4vw, 2.5rem);--gap-hairline: 1px;--transition-fast: .15s ease-in-out;--transition-standard: .3s ease-in-out;--transition-slow: .5s ease-in-out;--transition-bounce: cubic-bezier(.68, -.55, .265, 1.55);--border-width: 1px;--border-width-thick: 2px;--border-radius-none: 0px;--border-radius-sm: .25rem;--border-radius-base: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-2xl: 1.5rem;--border-radius-full: 9999px;--z-base: 0;--z-elevated: 10;--z-modal: 100;--z-modal-plus: 101;--z-dropdown: 200;--z-toast: 300;--z-top: 999}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}.kinetic-heading{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.kinetic-body{font-family:var(--font-body);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);letter-spacing:var(--letter-spacing-tight-ish)}.kinetic-small{font-family:var(--font-display);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase}.container{width:100%;max-width:80vw;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem)}.container-narrow{width:100%;max-width:800px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem)}.container-wide{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem)}.kinetic-card{background:hsl(var(--background));border:var(--border-width) solid hsl(var(--border));border-radius:var(--border-radius-none);padding:var(--card-padding);transition:all var(--transition-standard);position:relative}.kinetic-card:hover{background:hsl(var(--accent));border-color:hsl(var(--accent));color:hsl(var(--accent-foreground));transform:translateY(-2px)}.kinetic-card:hover .kinetic-button{background:var(--color-background, #09090B);border-color:var(--color-border, #3F3F46);color:var(--color-text-primary, #FAFAFA)}.kinetic-card:hover .kinetic-button:hover{background:var(--color-accent, #00DD8D);border-color:var(--color-accent, #00DD8D);color:var(--color-text-on-primary, #09090B)}.kinetic-card .card-title,.kinetic-card .card-text,.kinetic-card .card-subtitle{transition:color var(--transition-standard)}.kinetic-card:hover .card-title,.kinetic-card:hover .card-text,.kinetic-card:hover .card-subtitle{color:hsl(var(--accent-foreground))}.kinetic-button{background:transparent;border:var(--border-width) solid hsl(var(--border));border-radius:var(--border-radius-none);color:hsl(var(--foreground));font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--text-small);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:.75rem 1.5rem;transition:all var(--transition-standard);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;min-width:-moz-fit-content;min-width:fit-content}.kinetic-button:hover{background:hsl(var(--accent));border-color:hsl(var(--accent));color:hsl(var(--accent-foreground));transform:translateY(-2px)}.kinetic-button:active{transform:translateY(0) scale(.98)}.kinetic-button-primary{background:hsl(var(--accent));border-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.kinetic-button-primary:hover{background:hsl(var(--accent-hover));border-color:hsl(var(--accent-hover));filter:brightness(1.05)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.kinetic-card:hover,.kinetic-button:hover{transform:none}}.noise-texture{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.03;mix-blend-mode:overlay}.massive-number{font-family:var(--font-display);font-size:var(--text-massive-numbers);font-weight:var(--font-weight-bold);line-height:.8;color:hsl(var(--muted));position:absolute;z-index:-1;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:hsl(var(--accent))}::-moz-selection{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}::selection{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.text-hero{font-size:var(--text-hero)}.text-display{font-size:var(--text-display)}.text-section{font-size:var(--text-section)}.text-card-title{font-size:var(--text-card-title)}.text-body{font-size:var(--text-body)}.text-small{font-size:var(--text-small)}.text-massive-numbers{font-size:var(--text-massive-numbers)}.text-large-numbers{font-size:var(--text-large-numbers)}.hero-kinetic{position:relative;overflow:hidden}.hero-kinetic:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,hsla(var(--accent),.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,hsla(var(--muted),.05) 0%,transparent 50%);animation:heroGlowDrift 20s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes heroGlowDrift{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(2%,1%) rotate(1deg)}50%{transform:translate(-1%,2%) rotate(-1deg)}75%{transform:translate(-2%,-1%) rotate(.5deg)}}.kinetic-card:after{content:"";position:absolute;inset:0;box-shadow:0 0 hsla(var(--accent),0);transition:box-shadow var(--transition-standard);pointer-events:none;z-index:-1}.kinetic-card:hover:after{box-shadow:0 0 20px 3px hsla(var(--accent),.15),0 0 40px 8px hsla(var(--accent),.08)}.kinetic-button{position:relative;overflow:hidden}.kinetic-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsla(var(--accent),.2);border-radius:50%;transform:translate(-50%,-50%);transition:width var(--transition-fast),height var(--transition-fast)}.kinetic-button:hover:before{width:300%;height:300%}.kinetic-button:active:before{background:hsla(var(--accent),.4)}.skill-card-kinetic:hover .card-icon{transform:scale(1.1) rotate(5deg)}.card-icon{transition:transform var(--transition-standard)}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}.animate-fade-in{transition:opacity .6s ease-out,transform .6s ease-out}.animate-fade-in.animated{opacity:1;transform:translateY(0)}.animate-slide-up{opacity:0;transform:translateY(40px);transition:opacity .5s ease-out,transform .5s ease-out}.animate-slide-up.animated{opacity:1;transform:translateY(0)}.animate-scale-in{opacity:0;transform:scale(.95);transition:opacity .5s ease-out,transform .5s ease-out}.animate-scale-in.animated{opacity:1;transform:scale(1)}.animate-slide-left{opacity:0;transform:translate(-30px);transition:opacity .5s ease-out,transform .5s ease-out}.animate-slide-left.animated{opacity:1;transform:translate(0)}.animate-slide-right{opacity:0;transform:translate(30px);transition:opacity .5s ease-out,transform .5s ease-out}.animate-slide-right.animated{opacity:1;transform:translate(0)}.stagger-1{transition-delay:0ms}.stagger-2{transition-delay:.1s}.stagger-3{transition-delay:.2s}.stagger-4{transition-delay:.3s}.stagger-5{transition-delay:.4s}.stagger-6{transition-delay:.5s}.stagger-7{transition-delay:.6s}.stagger-8{transition-delay:.7s}.stagger-9{transition-delay:.8s}.stagger-10{transition-delay:.9s}.stagger-11{transition-delay:1s}.stagger-12{transition-delay:1.1s}:focus-visible{outline:var(--border-width) solid hsl(var(--accent));outline-offset:2px}button:focus-visible,a:focus-visible{outline:var(--border-width) solid hsl(var(--accent));outline-offset:2px}@media(prefers-reduced-motion:reduce){.animate-on-scroll,.animate-fade-in,.animate-slide-up,.animate-scale-in,.animate-slide-left,.animate-slide-right{opacity:1;transform:none;transition:none}.stagger-1,.stagger-2,.stagger-3,.stagger-4,.stagger-5,.stagger-6,.stagger-7,.stagger-8,.stagger-9,.stagger-10,.stagger-11,.stagger-12{transition-delay:0ms!important}.hero-kinetic:before{animation:none}.kinetic-card:after{transition:none}.kinetic-card:hover{transform:none}.kinetic-button{transition:none}.kinetic-button:hover{transform:none}.kinetic-button:before{transition:none}.card-icon{transition:none}}@media(max-width:480px){.hide-mobile{display:none!important}}@media(min-width:481px){.hide-desktop{display:none!important}}@media print{.noise-texture,.marquee-section,.mobile-menu-overlay{display:none!important}.kinetic-card:hover{transform:none;background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}}
