:root{--color-primary: #64ffda;--color-secondary: #8c9eff;--color-accent: #4fc3f7;--color-background: #0a0a0a;--color-white: #ffffff;--gradient-primary: linear-gradient(45deg, var(--color-primary), var(--color-secondary));--gradient-hero: linear-gradient(45deg, var(--color-primary), var(--color-secondary), var(--color-accent), var(--color-primary));--color-primary-alpha-02: rgba(100, 255, 218, .02);--color-primary-alpha-1: rgba(100, 255, 218, .1);--color-primary-alpha-2: rgba(100, 255, 218, .2);--color-primary-alpha-3: rgba(100, 255, 218, .3);--color-primary-alpha-4: rgba(100, 255, 218, .4);--color-primary-alpha-5: rgba(100, 255, 218, .5);--color-primary-alpha-6: rgba(100, 255, 218, .6);--color-primary-alpha-8: rgba(100, 255, 218, .8);--color-secondary-alpha-1: rgba(140, 158, 255, .1);--color-secondary-alpha-2: rgba(140, 158, 255, .2);--color-secondary-alpha-3: rgba(140, 158, 255, .3);--color-secondary-alpha-4: rgba(140, 158, 255, .4);--color-secondary-alpha-5: rgba(140, 158, 255, .5);--color-accent-alpha-2: rgba(79, 195, 247, .2);--color-accent-alpha-3: rgba(79, 195, 247, .3);--color-white-alpha-02: rgba(255, 255, 255, .02);--color-white-alpha-05: rgba(255, 255, 255, .05);--color-white-alpha-08: rgba(255, 255, 255, .08);--color-white-alpha-1: rgba(255, 255, 255, .1);--color-white-alpha-2: rgba(255, 255, 255, .2);--color-white-alpha-3: rgba(255, 255, 255, .3);--color-white-alpha-4: rgba(255, 255, 255, .4);--color-white-alpha-6: rgba(255, 255, 255, .6);--color-white-alpha-7: rgba(255, 255, 255, .7);--color-white-alpha-8: rgba(255, 255, 255, .8);--color-white-alpha-9: rgba(255, 255, 255, .9);--color-black-alpha-2: rgba(0, 0, 0, .2);--color-black-alpha-3: rgba(0, 0, 0, .3);--color-black-alpha-4: rgba(0, 0, 0, .4);--color-black-alpha-5: rgba(0, 0, 0, .5);--color-black-alpha-6: rgba(0, 0, 0, .6);--color-black-alpha-9: rgba(0, 0, 0, .9);--ease-primary: cubic-bezier(.25, .46, .45, .94);--ease-in-out: cubic-bezier(.165, .84, .44, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .3s;--duration-normal: .4s;--duration-medium: .5s;--duration-slow: .7s;--duration-slower: .9s;--transition-fast: opacity var(--duration-fast) var(--ease-primary), transform var(--duration-fast) var(--ease-primary), background var(--duration-fast) var(--ease-primary), border var(--duration-fast) var(--ease-primary), box-shadow var(--duration-fast) var(--ease-primary);--transition-normal: opacity var(--duration-normal) var(--ease-primary), transform var(--duration-normal) var(--ease-primary), background var(--duration-normal) var(--ease-primary), border var(--duration-normal) var(--ease-primary), box-shadow var(--duration-normal) var(--ease-primary);--transition-medium: opacity var(--duration-medium) var(--ease-primary), transform var(--duration-medium) var(--ease-primary), background var(--duration-medium) var(--ease-primary), border var(--duration-medium) var(--ease-primary), box-shadow var(--duration-medium) var(--ease-primary);--transition-slow: opacity var(--duration-slow) var(--ease-primary), transform var(--duration-slow) var(--ease-primary), background var(--duration-slow) var(--ease-primary), border var(--duration-slow) var(--ease-primary), box-shadow var(--duration-slow) var(--ease-primary);--transition-slower: opacity var(--duration-slower) var(--ease-primary), transform var(--duration-slower) var(--ease-primary), background var(--duration-slower) var(--ease-primary), border var(--duration-slower) var(--ease-primary), box-shadow var(--duration-slower) var(--ease-primary);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 5rem;--spacing-5xl: 6rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 25px;--radius-full: 50px;--shadow-sm: 0 4px 12px var(--color-black-alpha-2);--shadow-md: 0 8px 20px var(--color-black-alpha-2);--shadow-lg: 0 10px 25px var(--color-primary-alpha-3);--shadow-xl: 0 15px 35px var(--color-black-alpha-3);--shadow-2xl: 0 20px 40px var(--color-black-alpha-3);--shadow-3xl: 0 25px 60px var(--color-black-alpha-4);--shadow-primary: 0 8px 30px var(--color-primary-alpha-3);--shadow-primary-lg: 0 15px 40px var(--color-primary-alpha-5);--backdrop-blur-sm: blur(6px) saturate(150%);--backdrop-blur-md: blur(12px) saturate(130%);--backdrop-blur-lg: blur(24px) saturate(130%);--font-family-primary: Inter, sans-serif;--font-family-mono: "JetBrains Mono", monospace;--font-size-xs: .9rem;--font-size-sm: 1rem;--font-size-md: 1.1rem;--font-size-lg: 1.2rem;--font-size-xl: 2rem;--font-size-2xl: 2.5rem;--font-size-3xl: 3rem;--font-size-4xl: 4.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--letter-spacing-sm: .5px;--letter-spacing-md: 1px;--letter-spacing-lg: -2px;--z-content: 5;--z-elevated: 10;--z-overlay: 100;--z-modal: 500;--z-toast: 1000;--z-tooltip: 1001;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--transform-hover-lift: translateY(-5px);--transform-hover-lift-sm: translateY(-3px);--transform-hover-lift-lg: translateY(-8px);--transform-hover-scale: scale(1.02);--transform-hover-scale-sm: scale(1.01);--transform-hover-scale-lg: scale(1.05);--project-card-parallax-base: 30px;--project-card-title-depth: calc(var(--project-card-parallax-base) * 2);--project-card-tags-depth: calc(var(--project-card-parallax-base) * 1.5);--project-card-media-depth: var(--project-card-parallax-base);--project-modal-width: 80vw;--project-modal-max-width: 80vw;--project-modal-max-height: 90vh;--project-modal-padding: 2rem;--hover-lift: var(--transform-hover-lift-sm) var(--transform-hover-scale);--hover-lift-lg: var(--transform-hover-lift-lg) var(--transform-hover-scale-lg);--confetti-color-1: var(--color-primary);--confetti-color-2: var(--color-secondary);--confetti-color-3: var(--color-accent);--confetti-color-4: #ff6b6b;--confetti-color-5: #ffd93d;--form-success-gradient: linear-gradient(45deg, #4caf50, #66bb6a);--form-error-gradient: linear-gradient(45deg, #f44336, #e57373);--form-primary-gradient: var(--gradient-primary);--particle-color-1: var(--color-primary);--particle-color-2: var(--color-secondary);--particle-color-3: var(--color-accent);--particle-color-4: var(--color-primary-alpha-6);--particle-color-5: var(--color-accent-alpha-3);--bg-gradient-edge: #0a0a0f;--bg-gradient-transition: #1a1a2e;--bg-gradient-center: #1f1847;--card-base-bg: rgba(40, 40, 40, .3);--card-base-bg-hover: rgba(40, 40, 40, .5);--card-base-border: rgba(100, 255, 218, .25);--card-base-border-hover: rgba(100, 255, 218, .5);--card-primary-bg: rgba(45, 45, 45, .35);--card-primary-bg-hover: rgba(45, 45, 45, .55);--card-secondary-bg: rgba(50, 50, 50, .4);--card-secondary-bg-hover: rgba(50, 50, 50, .6);--card-accent-bg: rgba(35, 35, 35, .3);--card-accent-bg-hover: rgba(35, 35, 35, .5);--card-shadow-base: 0 12px 40px rgba(0, 0, 0, .5), 0 0 60px rgba(100, 255, 218, .06), inset 0 1px 0 rgba(255, 255, 255, .15);--card-shadow-hover: 0 20px 50px rgba(0, 0, 0, .6), 0 0 80px rgba(100, 255, 218, .12), inset 0 1px 0 rgba(255, 255, 255, .25);--card-border-glow: 0 0 0 1px rgba(100, 255, 218, .1);--card-border-glow-hover: 0 0 0 1px rgba(100, 255, 218, .2)}@media (max-width: 1000px){:root{--project-modal-width: 97vw;--project-modal-max-width: 97vw;--project-modal-padding: 1rem}}.transition-fast{transition:var(--transition-fast)}.transition-normal{transition:var(--transition-normal)}.transition-medium{transition:var(--transition-medium)}.transition-slow{transition:var(--transition-slow)}.card-base{background:var(--card-base-bg);backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1);border:1px solid var(--card-base-border);border-radius:var(--radius-xl);box-shadow:var(--card-border-glow),var(--card-shadow-base);transition:var(--transition-normal);position:relative;overflow:hidden}.card-base:hover{background:var(--card-base-bg-hover);backdrop-filter:blur(25px) saturate(1.2);-webkit-backdrop-filter:blur(25px) saturate(1.2);border-color:var(--card-base-border-hover);box-shadow:var(--card-border-glow-hover),var(--card-shadow-hover)}.card-primary{background:var(--card-primary-bg);background-image:radial-gradient(circle at 20% 80%,rgba(100,255,218,.03) 0%,transparent 50%)}.card-primary:hover{background:var(--card-primary-bg-hover)}.card-secondary{background:var(--card-secondary-bg);background-image:radial-gradient(circle at 80% 20%,rgba(140,158,255,.03) 0%,transparent 50%)}.card-secondary:hover{background:var(--card-secondary-bg-hover)}.card-accent{background:var(--card-accent-bg);background-image:radial-gradient(circle at 50% 50%,rgba(79,195,247,.03) 0%,transparent 50%)}.card-accent:hover{background:var(--card-accent-bg-hover)}.shadow-primary{box-shadow:var(--shadow-primary)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.backdrop-blur-sm{backdrop-filter:var(--backdrop-blur-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm)}.backdrop-blur-md{backdrop-filter:var(--backdrop-blur-md);-webkit-backdrop-filter:var(--backdrop-blur-md)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-moz-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-moz-text-fill-color:transparent;text-fill-color:transparent}*{margin:0;padding:0;box-sizing:border-box}*,*:before,*:after{max-width:100%;box-sizing:border-box}html{height:100%;width:100%;max-width:100vw;overflow-x:hidden;background-color:var(--bg-gradient-edge)}body{font-family:Inter,sans-serif;background-color:transparent;color:var(--color-white);overflow-x:hidden;position:relative;min-height:100vh;width:100%;max-width:100vw;-webkit-overflow-scrolling:touch;overscroll-behavior-x:none;box-sizing:border-box}.gradient-background{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,var(--bg-gradient-edge) 0%,var(--bg-gradient-transition) 25%,var(--bg-gradient-center) 50%,var(--bg-gradient-transition) 75%,var(--bg-gradient-edge) 100%);z-index:-10;transform:translateZ(0);-webkit-transform:translateZ(0)}.grid-background{position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:linear-gradient(var(--color-primary-alpha-1) 1px,transparent 1px),linear-gradient(90deg,var(--color-primary-alpha-1) 1px,transparent 1px);background-size:60px 60px;background-position:center center;opacity:.4;z-index:-9;mask:radial-gradient(circle at center,black 0%,black 40%,transparent 80%);-webkit-mask:radial-gradient(circle at center,black 0%,black 40%,transparent 80%);transform:translateZ(0);-webkit-transform:translateZ(0)}a,a:visited{color:var(--color-primary)}a:hover,a:focus{color:var(--color-accent);text-decoration:underline}.floating-shape{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.reel-tab{transform:translateZ(0);backface-visibility:hidden}.project-card{backface-visibility:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#particles,#floatingShapes{display:none!important}}body.direct-lightbox-mode #particles,body.direct-lightbox-mode #floatingShapes{display:none!important}body.direct-lightbox-mode .fade-in,body.direct-lightbox-mode .text-reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}body.direct-lightbox-mode #hero-typewriter{animation:none!important}body.direct-lightbox-mode .hero-bg{display:none!important}body.direct-lightbox-mode *{animation-duration:.01ms!important;transition-duration:.1s!important}.vimeo-loading-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:400px;background:#0000001a}.vimeo-loading-spinner{text-align:center;color:var(--color-white)}.vimeo-loading-spinner .spinner{width:40px;height:40px;border:3px solid rgba(100,255,218,.3);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.vimeo-loading-spinner p{margin:0;font-size:.9rem;opacity:.8}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}nav{position:fixed;top:0;left:0;right:0;width:100%;max-width:100vw;background:#0a0a0ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:1rem 2rem;transition:var(--transition-normal);border-bottom:1px solid var(--color-primary-alpha-2);box-sizing:border-box}nav.scrolled{background:#0a0a0af2}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.logo{font-size:1.8rem;font-weight:700;font-family:Inter,sans-serif;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:1px}.nav-links{display:flex;list-style:none;gap:2rem}.nav-links a{color:var(--color-white);text-decoration:none;font-weight:600;font-size:.95rem;transition:var(--transition-normal);position:relative;padding:8px 16px;border-radius:20px}.nav-links a:after{content:"";position:absolute;bottom:2px;left:50%;width:0;height:2px;background:var(--gradient-primary);transition:var(--transition-normal);transform:translate(-50%);border-radius:1px}.nav-links a:hover{background:#ffffff1a;transform:translateY(-2px)}.nav-links a:hover:after{width:30px}@media (max-width: 768px){nav{padding:1rem}.nav-links{display:none}.mobile-menu-toggle{display:flex}}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;justify-content:space-around;width:30px;height:30px;padding:0;z-index:1001}.hamburger-line{width:100%;height:3px;background:var(--gradient-primary);transition:var(--transition-normal);border-radius:2px}.mobile-menu-toggle.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#0a0a0afa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(100,255,218,.2);flex-direction:column;padding:1rem 0}.mobile-menu.active{display:flex}.mobile-menu a{color:var(--color-white);text-decoration:none;font-weight:600;padding:1rem 2rem;transition:var(--transition-normal);border-bottom:1px solid rgba(255,255,255,.1)}.mobile-menu a:hover{background:#64ffda1a;color:var(--color-primary)}@supports (-webkit-overflow-scrolling: touch){nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0a0a0af2}.mobile-menu{backdrop-filter:none;-webkit-backdrop-filter:none}}.tag{background:transparent;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);border:1px solid var(--color-white-alpha-2);color:var(--color-white-alpha-7);font-weight:var(--font-weight-normal);font-style:italic;display:inline-block;text-transform:lowercase;letter-spacing:.5px;pointer-events:none}.tag--subtle{background:transparent;border-color:var(--color-white-alpha-1);color:var(--color-white-alpha-6)}.card-title{font-size:2.2rem;margin-bottom:.25rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:var(--font-weight-bold);transition:all var(--duration-normal) var(--ease-primary);letter-spacing:-.5px}.button-primary{background:var(--gradient-primary);color:var(--color-white)!important;border:none;padding:var(--spacing-md) var(--spacing-xl);text-decoration:none;border-radius:var(--radius-full);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);cursor:pointer;transition:var(--transition-medium);display:inline-block;position:relative;overflow:hidden;box-shadow:0 8px 30px #64ffda4d;transform:scale(1);opacity:1}.button-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left var(--duration-slower) var(--ease-primary)}.button-primary:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-primary);opacity:0;transition:opacity var(--duration-normal) var(--ease-primary);z-index:-1}.button-primary:hover:before{left:100%}.button-primary:hover:after{opacity:1}.button-primary:hover{color:#fff!important;transform:translateY(-4px) scale(1.02);box-shadow:0 15px 40px #64ffda80}.button-primary:active{transform:translateY(-2px) scale(1.01)}.contact-link{background:#ffffff1a;padding:1rem 2rem;border-radius:50px;text-decoration:none;color:#fff;transition:var(--transition-normal);border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;min-width:150px}.contact-link:hover{background:#64ffda33;transform:translateY(-3px)}.contact-link .copy-icon{margin-left:0;transition:var(--transition-fast);opacity:0;transform:scale(.8);width:0}.contact-link:hover .copy-icon{margin-left:8px;opacity:1;transform:scale(1);width:16px}.modal-content{display:flex;flex-direction:row;gap:2rem;align-items:center;justify-content:center;width:min(var(--project-modal-width),var(--project-modal-max-width));max-height:var(--project-modal-max-height);padding:var(--project-modal-padding);box-sizing:border-box;margin:0 auto}.reel-modal-content{aspect-ratio:16 / 9}.modal-video-wrapper{flex:2 1 65%;width:65%;min-width:0;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center}.modal-video-wrapper iframe{width:100%;height:100%;border:none;border-radius:15px}.modal-description-wrapper{flex:1 1 30%;min-width:0;display:flex;flex-direction:column;gap:.5rem;color:var(--color-white-alpha-8)}.modal-description-wrapper h2{font-size:calc(1.5rem + .5vw);color:var(--color-primary);margin-bottom:.25rem}.modal-description-wrapper .project-meta{gap:.5rem;margin-bottom:.5rem}.modal-description-wrapper p{font-size:calc(1rem + .25vw);line-height:1.6}@media (max-width: 768px){.modal-content{flex-direction:column}.modal-content.modal-left .modal-description-wrapper{order:-1}.modal-video-wrapper,.modal-description-wrapper{width:100%;max-width:none}}.form-message{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:12px;z-index:var(--z-toast);transform:translate(300px);opacity:0;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.form-message--success{background:#4caf50e6;border:1px solid rgba(76,175,80,.3)}.form-message--error{background:#f44336e6;border:1px solid rgba(244,67,54,.3)}.hero{height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:visible;width:100%;max-width:100vw}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;animation:float 6s ease-in-out infinite;z-index:1}.hero-content{z-index:2;max-width:800px;padding:0 2rem;position:relative;overflow:visible;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.hero-title-container{position:relative;margin-bottom:1rem;overflow:visible;height:100px;display:flex;align-items:center;justify-content:center;width:100%;max-width:100vw}.hero h1,.hero-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-black);background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:300% 300%;animation:gradient-flow 4s ease infinite;text-shadow:0 0 20px var(--color-primary-alpha-3);letter-spacing:var(--letter-spacing-lg);opacity:1;white-space:nowrap;line-height:1.2;text-align:center;width:max-content;max-width:calc(100vw - 4rem);overflow:visible;padding:var(--spacing-sm) var(--spacing-2xl);box-sizing:border-box}.hero p{font-size:var(--font-size-lg);opacity:1;margin-bottom:var(--spacing-lg);transform:translateY(0)}.section-title{text-align:center;font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg);color:var(--color-primary);font-weight:var(--font-weight-bold);text-shadow:0 0 10px var(--color-primary-alpha-3);transition:all var(--duration-normal) var(--ease-primary)}.section-title:hover{text-shadow:0 0 20px var(--color-primary-alpha-5);transform:translateY(-1px)}.projects-section{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-5xl);max-width:min(95vw,1200px);margin:0 auto;display:flex;flex-direction:column}.demo-reels-section{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-xl) 0;text-align:center}.project-card{margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);transition:all .4s var(--ease-primary);position:relative;z-index:var(--z-elevated);cursor:pointer;overflow:visible;transform-style:preserve-3d;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr auto;gap:var(--spacing-md);grid-template-areas:"title" "meta" "text" "media" "stills";isolation:isolate}.project-card{isolation:isolate;overflow:visible}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;padding:1px;background:linear-gradient(45deg,var(--color-primary-alpha-3),var(--color-secondary-alpha-2),var(--color-accent-alpha-2),var(--color-primary-alpha-3));border-radius:var(--radius-xl);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;opacity:0;transition:opacity var(--duration-normal) var(--ease-primary);z-index:-1}.project-card:hover:before{opacity:1}.project-card .video-embed{border-radius:var(--radius-md);overflow:hidden;background:var(--color-black-alpha-9);border:1px solid var(--color-primary-alpha-3);box-shadow:0 4px 20px var(--color-black-alpha-4),inset 0 1px 0 var(--color-white-alpha-1);transition:all var(--duration-normal) var(--ease-primary);position:relative;transform:translateZ(0);transform-style:preserve-3d}.project-card:hover .video-embed{transform:translateZ(var(--project-card-media-depth)) translateY(-2px);border-color:var(--color-primary-alpha-5);box-shadow:0 6px 20px var(--color-black-alpha-5),0 2px 10px var(--color-primary-alpha-2),inset 0 1px 0 var(--color-white-alpha-2)}.project-meta .tag{background:var(--color-white-alpha-08);border-color:var(--color-primary-alpha-2);transition:all var(--duration-fast) var(--ease-primary)}.project-card:hover .project-meta .tag{background:var(--color-primary-alpha-1);border-color:var(--color-primary-alpha-4);color:var(--color-white-alpha-9)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}:root{--demo-reel-container-width: min(90vw, 800px);--demo-reel-player-height: min(40vh, 400px);--demo-reel-video-width: 100%;--demo-reel-tab-height: 42px;--demo-reel-tab-width: clamp(120px, 25%, 260px)}@media (max-width: 768px){.projects-section{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-3xl)}.demo-reels-section{min-height:calc(100vh - 160px);padding:var(--spacing-lg) 0}.reel-tabs-container{max-width:95vw}}@media (max-height: 600px){.demo-reels-section{min-height:auto;padding:var(--spacing-2xl) 0}}.reel-tabs-container{margin-bottom:var(--spacing-lg);max-width:var(--demo-reel-container-width);margin-left:auto;margin-right:auto;width:100%}.reel-tabs{display:flex;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.reel-tab{padding:var(--spacing-xs) var(--spacing-lg);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:var(--demo-reel-tab-height);min-width:var(--demo-reel-tab-width);border-radius:var(--radius-md)}.reel-tab:hover{transform:var(--transform-hover-lift-sm);will-change:transform}.reel-tab.active{background:var(--card-primary-bg-hover)!important;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-color:#64ffdab3!important;box-shadow:0 0 0 1px #64ffda33,0 8px 25px #0006,0 0 50px #64ffda26,inset 0 1px #fff3!important}.tab-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-white-alpha-9);text-align:center;line-height:1.2;margin:0}.title-icon{font-size:1.2rem;margin-right:var(--spacing-xs);vertical-align:middle}.title-icon.ae-icon{background:var(--gradient-primary)!important;color:#fff!important;padding:2px 4px;border-radius:3px;font-weight:700;font-size:.9rem;font-family:Arial,sans-serif;display:inline-block;-webkit-background-clip:border-box!important;-webkit-text-fill-color:white!important}.reel-tab.active .tab-title{color:var(--color-primary);font-weight:var(--font-weight-bold)}.reel-player{position:relative;padding:var(--spacing-md);min-height:var(--demo-reel-player-height);max-height:70vh;display:flex;flex-direction:column;overflow:hidden;width:100%}.reel-content{display:none;will-change:opacity,transform;flex:1}.reel-content.active{display:flex;flex-direction:column}.reel-title,.reel-meta,.reel-info p,.reel-video{will-change:opacity,transform}.reel-info p{font-size:var(--font-size-sm);line-height:1.4;margin:0}.reel-info,.reel-title{margin-bottom:var(--spacing-xs)}.reel-title .title-icon{-webkit-text-fill-color:initial;background:none;color:initial}.reel-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);justify-content:center}.reel-tab,.project-card,.contact-link{backface-visibility:hidden;perspective:1000px}.reel-video{aspect-ratio:16/9;width:100%;max-width:var(--demo-reel-video-width);margin:0 auto;border-radius:12px;border:1px solid var(--color-primary-alpha-3);background:var(--color-black-alpha-9);box-shadow:0 4px 20px var(--color-black-alpha-4),inset 0 1px 0 var(--color-white-alpha-1);overflow:hidden;flex-shrink:0;height:auto;max-height:calc(70vh - 180px)}.reel-video:hover{border-color:var(--color-primary-alpha-5)}@media (max-width: 768px){.reel-tabs{flex-direction:column;align-items:center}.reel-tab{width:100%;max-width:300px;flex-direction:row;justify-content:center;gap:.5rem}.reel-player{padding:1.5rem}}.reel-progress{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem}.progress-dots{display:flex;gap:.5rem;align-items:center}.progress-dot{width:12px;height:12px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.3);transition:var(--transition-normal);cursor:pointer;position:relative}.progress-dot.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 12px var(--color-primary-alpha-5)}.progress-dot.viewed{background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:0 0 8px var(--color-secondary-alpha-4)}.progress-dot:hover{transform:var(--transform-hover-scale-lg)}.project-card h3{grid-area:title;align-self:start;transform:translateZ(0);transform-style:preserve-3d}.project-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;transform:translateZ(0);transform-style:preserve-3d}.project-card:hover .project-meta{transform:translateZ(var(--project-card-tags-depth))}.project-card:hover{transform:translateY(-8px) scale(1.02)}.project-card:hover h3{background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 15px var(--color-primary-alpha-5);transform:translateZ(var(--project-card-title-depth)) translateY(-2px)}.project-card:active{transform:translateY(-2px) scale(1.01)}.brands{padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;max-width:1200px;margin:0 auto}.brands-container{width:100%;margin-bottom:var(--spacing-2xl)}.brands-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-2xl);color:var(--color-secondary);font-weight:var(--font-weight-semibold);opacity:.9;text-align:center}.brands-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-lg);align-items:center;justify-items:center;max-width:700px;margin:0 auto}.brand-logo-container{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:var(--color-white-alpha-02);backdrop-filter:var(--backdrop-blur-md);-webkit-backdrop-filter:var(--backdrop-blur-md);border-radius:var(--radius-md);border:1px solid var(--color-primary-alpha-2);transition:var(--transition-normal);box-shadow:var(--shadow-sm)}.brand-logo-container:hover{background:var(--color-white-alpha-08);border-color:var(--color-primary-alpha-4);transform:var(--transform-hover-lift-sm) var(--transform-hover-scale-lg);box-shadow:var(--shadow-primary)}.brand-logo-container:hover .brand-logo{opacity:1}.brand-logo{width:90px;height:90px;object-fit:contain;opacity:.9;transition:var(--transition-normal)}.brands-separator{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary-alpha-3),transparent);margin:var(--spacing-3xl) 0;position:relative}.brands-separator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:var(--color-background);border-radius:50%;border:1px solid var(--color-primary-alpha-3)}.brands-separator:after{content:"⋆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-primary-alpha-6);font-size:1.2rem;z-index:1}.brand-logo-container{overflow:visible!important}@media (max-width: 768px){.brands{padding:var(--spacing-2xl) var(--spacing-lg)}.brands-grid{grid-template-columns:repeat(5,1fr);gap:var(--spacing-sm);max-width:100%}.brand-logo-container{width:80px;height:80px}.brand-logo{width:65px;height:65px}}.about-anchor-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}.about{padding:var(--spacing-2xl) var(--spacing-lg);background:var(--color-white-alpha-02);backdrop-filter:var(--backdrop-blur-md);-webkit-backdrop-filter:var(--backdrop-blur-md);position:relative;z-index:var(--z-content);width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.about-container{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.about-content-wrapper{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-xl);align-items:center;width:100%}.about-image{height:350px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-white);background:transparent;position:relative;overflow:hidden}.about-image:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:42%;background:linear-gradient(to top,var(--color-background) 0%,transparent 100%);z-index:3}.about-image img{width:100%;height:100%;object-fit:contain;object-position:bottom center;border-radius:var(--radius-xl)}.about-text{font-size:var(--font-size-md);line-height:1.8;opacity:.9}.about-text h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--color-primary)}.about-text p+p{margin-top:var(--spacing-sm)}.software-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.contact{padding:5rem 2rem;text-align:center;max-width:800px;margin:0 auto}.contact-form{max-width:700px;margin:1rem auto;text-align:left;background:var(--color-white-alpha-02);padding:2.5rem;border-radius:var(--radius-lg);border:1px solid var(--color-primary-alpha-3);backdrop-filter:var(--backdrop-blur-md);-webkit-backdrop-filter:var(--backdrop-blur-md);position:relative;z-index:var(--z-elevated);box-shadow:var(--shadow-md);transition:var(--transition-normal)}.contact-form:hover{transform:var(--transform-hover-lift);box-shadow:var(--shadow-2xl);border-color:var(--color-primary-alpha-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md);position:relative}.form-group label{display:block;margin-bottom:.75rem;color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:.95rem;text-transform:uppercase;letter-spacing:var(--letter-spacing-sm);transition:var(--transition-normal)}.form-group input,.form-group textarea{width:100%;padding:1.2rem var(--spacing-md);background:var(--color-white-alpha-05);border:1px solid var(--color-accent-alpha-2);border-radius:var(--radius-md);color:var(--color-white);font-size:var(--font-size-sm);font-family:var(--font-family-primary);transition:var(--transition-normal);box-sizing:border-box;position:relative;z-index:1}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-white-alpha-4);transition:var(--transition-normal)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#64ffda99;box-shadow:0 0 0 3px #64ffda1a;background:#ffffff14;transform:scale(1.01)}.form-group input:focus::placeholder,.form-group textarea:focus::placeholder{color:#fff9;transform:translateY(-2px)}.form-group textarea{resize:vertical;min-height:140px;line-height:1.6}.form-group input:before,.form-group textarea:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#64ffda0d,#bb86fc0d);border-radius:12px;opacity:0;transition:opacity var(--duration-normal) var(--ease-primary);z-index:-1}.form-group input:hover,.form-group textarea:hover{background:#64ffda14;border-color:#64ffda66}.submit-button{width:100%;margin-top:1.5rem;text-transform:uppercase;letter-spacing:1px}@media (max-width: 768px){.about{padding:var(--spacing-xl) var(--spacing-lg)}.about-container{max-width:100%}.about-content-wrapper{grid-template-columns:1fr;gap:var(--spacing-lg)}.about-image{height:280px;order:2}.about-text{order:1}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:2rem;margin:2rem auto}.form-group input,.form-group textarea{padding:1rem 1.2rem}.submit-button{padding:1rem 2rem;font-size:1rem}}@media (max-width: 480px){.about{padding:var(--spacing-lg) var(--spacing-md)}.about-image{height:250px}.about-text{font-size:var(--font-size-sm)}}.contact p{display:none;font-size:1.2rem;line-height:1.6;color:#ffffffe6;margin-bottom:2rem;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.5);background:transparent;-webkit-text-fill-color:rgba(255,255,255,.9);white-space:normal}.contact .section-title{opacity:1;color:var(--color-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);text-shadow:0 0 10px var(--color-primary-alpha-3)}.hero-social-links{display:flex;justify-content:center;gap:2rem;margin:.5rem 0}.social-link{background:#ffffff0d;padding:.75rem 1.5rem;border-radius:25px;text-decoration:none;color:#fffc;transition:var(--transition-normal);border:1px solid rgba(100,255,218,.2);font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;min-width:100px;gap:.5rem}.social-link svg{transition:var(--transition-normal);flex-shrink:0}.social-link:hover{background:#64ffda1a;color:var(--color-primary);border-color:#64ffda66;transform:translateY(-2px)}.media-showcase{background:#0000004d;border-radius:15px;padding:1.5rem;text-align:center;border:1px solid rgba(187,134,252,.2);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);box-shadow:0 8px 25px #0000004d;grid-area:media;align-self:start}.media-showcase img,.media-showcase video{width:100%;height:200px;object-fit:cover;border-radius:10px;margin-bottom:1rem;transition:var(--transition-normal)}.media-showcase video{background:var(--color-background)}.media-showcase img:hover,.media-showcase video:hover{transform:scale(1.02);box-shadow:0 15px 40px #64ffda66}.video-embed{position:relative;width:100%;height:0;padding-bottom:56.25%;background:#0000004d;border-radius:15px;overflow:hidden;box-shadow:var(--shadow-md)}.video-embed:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000 60%,#0009);opacity:0;transition:opacity var(--duration-fast) var(--ease-primary)}.video-embed:hover:before{opacity:1}.video-embed iframe,.video-embed video{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:15px}.video-embed.square{padding-bottom:100%}.video-embed.vertical{padding-bottom:177.78%}.video-embed{cursor:pointer}.video-embed:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-left:25px solid rgb(255,100,100);border-top:15px solid transparent;border-bottom:15px solid transparent;transform:translate(-40%,-50%);opacity:.8;pointer-events:none;transition:transform var(--duration-fast) var(--ease-primary)}.video-embed:hover:after{transform:translate(-40%,-50%) scale(1.1)}.video-embed iframe{pointer-events:none}.video-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-gradient-edge);display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .3s var(--ease-primary)}.video-modal:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(26,26,46,.2) 25%,rgba(45,27,105,.15) 50%,rgba(26,26,46,.2) 75%,transparent 100%),radial-gradient(circle at 30% 20%,var(--color-primary-alpha-1) 0%,transparent 40%),radial-gradient(circle at 70% 80%,var(--color-secondary-alpha-1) 0%,transparent 40%),radial-gradient(circle at 20% 80%,var(--color-accent-alpha-2) 0%,transparent 30%);pointer-events:none;z-index:-1}.video-modal.modal-closing{animation:modalFadeOut .25s var(--ease-primary)}.modal-content,.reel-modal-content{background:linear-gradient(135deg,var(--color-background) 0%,var(--color-white-alpha-08) 100%);border-radius:20px;position:relative;border:1px solid var(--color-primary-alpha-3);box-shadow:0 25px 60px var(--color-black-alpha-5);animation:modalSlideIn .4s var(--ease-primary)}.modal-closing .modal-content,.modal-closing .reel-modal-content{animation:modalSlideOut .25s var(--ease-primary)}.modal-content{padding:var(--project-modal-padding)}.reel-modal-content{padding:.75rem}.modal-content{width:min(var(--project-modal-width),var(--project-modal-max-width));height:auto;max-height:var(--project-modal-max-height);box-sizing:border-box}.reel-modal-content{width:min(90vw,80vh * 16/9 + 1.5rem);height:min(80vh,90vw * 9/16 + 1.5rem)}.reel-modal-content{display:flex;align-items:center;justify-content:center}.close-modal{position:absolute;top:.5rem;right:.5rem;font-size:1.5rem;color:var(--color-white);cursor:pointer;transition:var(--transition-normal);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1a;z-index:10}.close-modal:hover{background:#fff3;transform:scale(1.1)}.modal-content h3{color:var(--color-primary);margin-bottom:1rem;font-size:1.5rem}.reel-modal-content iframe{width:calc(100% - 1.5rem);height:calc(100% - 1.5rem);margin:.75rem;border:none;border-radius:15px;aspect-ratio:16/9;object-fit:contain}video::-webkit-media-controls-panel{background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.8) 100%)}video::-webkit-media-controls-play-button,video::-webkit-media-controls-mute-button,video::-webkit-media-controls-fullscreen-button{filter:brightness(1.2) saturate(1.2)}.modal-open{overflow:hidden}.modal-open .particle,.modal-open .floating-shape,.modal-open .animated-grid{animation-play-state:paused!important;will-change:auto!important}.modal-open body:after{display:none!important}.video-modal{display:flex;align-items:center;justify-content:center}.background-effects{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.animated-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.09;background-image:linear-gradient(var(--color-primary-alpha-2) 1px,transparent 1px),linear-gradient(90deg,var(--color-primary-alpha-2) 1px,transparent 1px);background-size:60px 60px;will-change:transform,opacity;mask:radial-gradient(circle at center,black 0%,black 40%,transparent 80%);-webkit-mask:radial-gradient(circle at center,black 0%,black 40%,transparent 80%);-moz-mask:radial-gradient(circle at center,black 0%,black 40%,transparent 80%);-ms-mask:radial-gradient(circle at center,black 0%,black 40%,transparent 80%);backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.floating-shapes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.floating-shape{position:absolute;will-change:transform;opacity:.2;border:1px solid;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.floating-shape--triangle{width:0;height:0;background:transparent;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:43px solid var(--color-primary-alpha-3);border-top:none}.floating-shape--square{width:40px;height:40px;background:var(--color-secondary-alpha-3);border:1px solid var(--color-secondary-alpha-5)}.floating-shape--diamond{width:30px;height:30px;background:var(--color-accent-alpha-3);border:1px solid var(--color-accent-alpha-3);transform:rotate(45deg)}.floating-shape--circle{width:35px;height:35px;background:var(--color-primary-alpha-3);border:1px solid var(--color-primary-alpha-5);border-radius:50%}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#0a0a0fcc;border-radius:10px}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:10px;border:2px solid rgba(10,10,15,.8);transition:var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:var(--gradient-primary);transform:scale(1.1)}::-webkit-scrollbar-corner{background:#0a0a0fcc}.fade-in{opacity:0;transition:opacity .4s ease-out,transform .4s ease-out;will-change:opacity,transform}.fade-in.enter-from-top,.fade-in.exit-to-top{transform:translateY(-20px)}.fade-in.enter-from-bottom,.fade-in.exit-to-bottom{transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{transform:translateY(-50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-30px) scale(.95);opacity:0}}.media-loading{background:linear-gradient(90deg,var(--color-primary-alpha-2) 0%,var(--color-secondary-alpha-2) 50%,var(--color-primary-alpha-2) 100%);background-size:200% 100%}.hero{contain:layout style paint}.project-card{contain:layout style}.video-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0a0a0af2,#141419fa);display:flex;align-items:center;justify-content:center;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.loading-content{text-align:center;color:#fff}.loading-spinner{position:relative;width:60px;height:60px;margin:0 auto 1rem}.spinner-ring{position:absolute;width:100%;height:100%;border:2px solid transparent;border-radius:50%;border-top-color:var(--color-primary);border-right-color:var(--color-secondary)}.spinner-ring:nth-child(2){width:80%;height:80%;top:10%;left:10%;border-top-color:var(--color-secondary);border-right-color:var(--color-accent)}.spinner-ring:nth-child(3){width:60%;height:60%;top:20%;left:20%;border-top-color:var(--color-accent);border-right-color:var(--color-primary)}.loading-text{font-size:.9rem;margin-bottom:1rem;color:#fffc;font-weight:500}.loading-bars{display:flex;justify-content:center;gap:3px;align-items:end;height:20px}.loading-bars .bar{width:3px;height:8px;background:var(--gradient-primary);border-radius:2px;transform-origin:bottom}.video-embed{position:relative;overflow:hidden;border-radius:12px}.video-embed iframe{width:100%;height:100%;border:none;border-radius:12px}.char{display:inline-block;transform-origin:bottom center}.word{display:inline-block;overflow:hidden}.text-reveal{display:inline-block;white-space:pre}.text-reveal .char{opacity:0;transform:translateY(10px);transition:opacity .4s ease-out,transform .4s ease-out;will-change:opacity,transform}.text-reveal.reveal .char{opacity:1;transform:translateY(0)}html:not(.js) .fade-in,html:not(.js) .text-reveal .char{opacity:1!important;transform:none!important}@media screen and (max-width: 768px){.fade-in:not(.visible){animation:mobile-fade-in .5s ease-out 1s forwards}}@keyframes mobile-fade-in{to{opacity:1;transform:translateY(0)}}.contact-link{position:relative;overflow:hidden}.contact-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(100,255,218,.2),transparent);transition:left var(--duration-slower) var(--ease-primary)}.contact-link:hover:before{left:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-bg{animation:none}.loading-spinner,.loading-bars{display:none}.video-loading-overlay{background:#0a0a0acc}.loading-text:after{content:" Please wait..."}}@media screen and (max-width: 768px){html{height:100%;width:100%;overflow-x:hidden}body{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:none;position:relative}.hero,.projects-section,.about,.contact,.brands{width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.nav-container,.hero-content,.about-container,.brands-container{width:100%;max-width:100vw;padding-left:1rem;padding-right:1rem;box-sizing:border-box}.hero h1{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;max-width:calc(100vw - 2rem)}.projects-grid{width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.project-card{width:100%;max-width:100%;box-sizing:border-box}.reel-tabs-container,.reel-player,.reel-content{width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.video-embed,.video-embed iframe{width:100%;max-width:100%;box-sizing:border-box}.social-link{min-height:44px;min-width:44px;padding:1rem 1.5rem;-webkit-tap-highlight-color:rgba(100,255,218,.3);touch-action:manipulation}.hero-social-links .fade-in{opacity:1!important;transform:none!important}.hero-social-links{gap:1.5rem;margin:1rem 0;min-height:60px;align-items:center}.project-card .video-embed,.reel-video{border:2px solid rgba(100,255,218,.6)!important;box-shadow:0 4px 20px #0009,0 0 10px #64ffda4d,inset 0 1px #fff3!important}.project-card:hover .video-embed,.reel-video:hover{border-color:#64ffdacc!important;box-shadow:0 6px 25px #000000b3,0 0 15px #64ffda80,inset 0 1px #ffffff4d!important}.project-card,.reel-tab,.reel-player{border:2px solid rgba(100,255,218,.4)!important;box-shadow:0 0 0 1px #64ffda26,0 12px 40px #0009,0 0 20px #64ffda1a,inset 0 1px #fff3!important}.project-card:hover,.reel-tab:hover,.reel-player:hover{border-color:#64ffdab3!important;box-shadow:0 0 0 1px #64ffda40,0 20px 50px #000000b3,0 0 30px #64ffda26,inset 0 1px #ffffff4d!important}.reel-tab.active{border-color:#64ffdacc!important;box-shadow:0 0 0 1px #64ffda4d,0 8px 25px #00000080,0 0 40px #64ffda33,inset 0 1px #ffffff40!important}html{scroll-padding-top:90px}}@media (max-width: 1024px){.nav-container{padding:0 1rem}.projects-section{padding:4rem 1.5rem}.project-card{padding:2rem}.about-container{gap:2rem}}@media (max-width: 1200px){.nav-links{display:none}.mobile-menu-toggle{display:flex}.logo{font-size:1.5rem}.hero-title-container{margin-bottom:.75rem}.hero-title-spacer,.hero h1{font-size:3rem;letter-spacing:-1px;padding:.75rem 2rem}.hero p{font-size:1.1rem;padding:0 1rem}.hero-content{padding:0 1rem}.project-card{display:block;padding:2rem}.project-card h3{grid-area:unset;margin-bottom:1rem}.project-meta,.project-card-text,.media-showcase{grid-area:unset;margin-bottom:2rem}.stills-grid{grid-area:unset;margin-top:0}.section-title{font-size:2.5rem}.about-container{grid-template-columns:1fr;text-align:center;gap:2rem}.about-image{height:300px}.contact-links{flex-direction:column;align-items:center;gap:1rem}.stills-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.modal-content,.reel-modal-content{padding:var(--project-modal-padding)}.reel-modal-content{width:min(95vw,85vh * 16/9 + 1.5rem);height:min(85vh,95vw * 9/16 + 1.5rem);border:1px solid var(--color-border-modal);box-shadow:0 8px 16px #0000004d}}@media (max-width: 480px){nav{padding:.75rem 1rem}.logo{font-size:1.2rem}.hero-title-container{margin-bottom:.5rem}.hero-title-spacer,.hero h1{font-size:2.5rem;letter-spacing:-1px;padding:.5rem 1.5rem}.hero p{font-size:1rem;margin-bottom:1.5rem}.button-primary{padding:1rem 2rem;font-size:1rem}.projects-section{padding:3rem 1rem}.project-card{padding:1.5rem;margin-bottom:3rem}.section-title{font-size:2rem;margin-bottom:2rem;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2;padding:0 .5rem}.project-meta{gap:.5rem}.tag{font-size:.8rem;padding:.4rem .8rem}.stills-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.about{padding:3rem 1rem}.about-image{height:250px}.about-text h2{font-size:2rem}.about-text{font-size:1rem;line-height:1.6}.brands-grid{grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1rem;max-width:100%}.brand-logo-container{width:80px;height:80px}.brand-logo{width:60px;height:60px}.contact .section-title{font-size:1.75rem;text-align:center;max-width:100%;padding:0 1rem;box-sizing:border-box}.contact{padding:3rem 1rem}.contact-link{padding:.8rem 1.5rem;font-size:.9rem;width:100%;max-width:200px;text-align:center}}@media (max-width: 768px) and (min-width: 481px){.brands-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;padding:0 1.5rem}.brand-logo-container{width:90px;height:90px}.brand-logo{width:70px;height:70px}}@media (max-width: 320px){.contact .section-title{font-size:1.5rem;padding:0 .5rem;word-spacing:-2px}.section-title{font-size:1.75rem}.brands-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:0 .5rem}.brand-logo-container{width:70px;height:70px}.brand-logo{width:50px;height:50px}}@media (min-width: 1400px){.projects-section,.about-container,.brands{max-width:1400px}.hero h1{font-size:5rem}.section-title{font-size:3.5rem}}@media (max-height: 600px){.hero-title-container{margin-bottom:.5rem}.hero p{margin-bottom:1.5rem}}@media (max-height: 500px){.hero{height:auto;min-height:100vh;padding:4rem 0 2rem}.hero-title-container{margin-bottom:.25rem}.hero-title-spacer,.hero h1{font-size:2.5rem;padding:.25rem 1.5rem}.hero p{font-size:1rem;margin-bottom:1rem}.button-primary{padding:.8rem 1.8rem;font-size:.95rem}}@media (max-height: 500px) and (orientation: landscape){.hero{height:auto;min-height:100vh;padding:6rem 0 2rem}.hero h1{font-size:2rem}.hero p{font-size:.9rem;margin-bottom:1rem}}@media (min-width: 769px) and (pointer: fine){html{scroll-padding-top:80px}body,.projects-section,.about,.contact,.hero{-webkit-overflow-scrolling:touch}}*{-webkit-overflow-scrolling:touch}
