@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap";:root{--color-bg:#000;--color-bg-elevated:#06060f;--color-bg-panel:#060612b8;--color-bg-card:#0a0a1c8c;--color-bg-card-hover:#12122db3;--color-bg-card-active:#18142ad9;--color-text:#f0f0f8;--color-text-secondary:#b8b8d0;--color-text-muted:#7a7a9a;--color-text-dim:#4a4a68;--color-accent:#f0a050;--color-accent-bright:#ffbe76;--color-accent-hot:#fff1d6;--color-accent-dim:#f0a0501f;--color-accent-glow:#f0a05040;--color-accent-subtle:#f0a0500f;--color-blue:#6ea8fe;--color-blue-dim:#6ea8fe1a;--color-blue-glow:#6ea8fe26;--color-violet:#a78bfa;--color-violet-dim:#a78bfa14;--color-border:#ffffff0d;--color-border-hover:#ffffff1a;--color-border-accent:#f0a0502e;--color-border-glow:#f0a05059;--font-heading:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--fs-display:clamp(3.4rem, 8vw, 7rem);--fs-h2:clamp(2rem, 4.5vw, 3.2rem);--fs-h3:clamp(1.15rem, 1.8vw, 1.45rem);--fs-body:clamp(.9rem, 1.1vw, 1.05rem);--fs-small:clamp(.78rem, .95vw, .88rem);--fs-label:.68rem;--fs-micro:.6rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.08;--lh-heading:1.15;--lh-body:1.72;--ls-wide:.12em;--ls-wider:.22em;--ls-hero:-.03em;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:28px;--space-xl:48px;--space-2xl:80px;--space-3xl:120px;--space-section:clamp(100px, 16vh, 180px);--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:32px;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.2s;--duration:.4s;--duration-slow:.65s;--duration-hover:.25s;--glass-blur:28px;--glass-bg:#060612a6;--glass-border:#ffffff0f;--glass-shine:linear-gradient(135deg, #ffffff0a 0%, transparent 50%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-text);background:var(--color-bg);line-height:var(--lh-body);cursor:none;overflow-x:hidden}@media (pointer:fine){body,a,button,input,textarea{cursor:none!important}}@media (pointer:coarse){body,a,button,input,textarea{cursor:auto!important}#cursor{display:none!important}}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit}::selection{background:var(--color-accent-dim);color:var(--color-accent-bright)}#three-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.accent{color:var(--color-accent)}.reveal-text{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:translateY(28px)}.reveal-text.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal-text{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}@keyframes cosmicShimmer{0%,to{opacity:.4}50%{opacity:1}}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #f0a05000}50%{box-shadow:0 0 30px #f0a0501f}}@keyframes borderGlow{0%,to{border-color:#f0a05014}50%{border-color:#f0a05038}}.navbar{z-index:100;border-radius:var(--radius-lg);transition:all var(--duration) var(--ease-smooth);border:1px solid #0000;justify-content:space-between;align-items:center;padding:14px 32px;display:flex;position:fixed;top:12px;left:16px;right:16px}.navbar.scrolled{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-color:var(--glass-border);box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff08}.nav-logo{font-family:var(--font-heading);font-size:.88rem;font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);color:var(--color-text);transition:color var(--duration-fast), text-shadow var(--duration);position:relative}.nav-logo:hover{color:var(--color-accent);text-shadow:0 0 20px var(--color-accent-glow)}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{font-family:var(--font-heading);font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-text-muted);transition:color var(--duration-hover);padding:6px 0;position:relative}.nav-link:after{content:"";background:linear-gradient(90deg, var(--color-accent), var(--color-accent-bright));width:0;height:1.5px;transition:width var(--duration) var(--ease-out);box-shadow:0 0 8px var(--color-accent-glow);border-radius:1px;position:absolute;bottom:-2px;left:0}.nav-link:hover,.nav-link.active{color:var(--color-text)}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-hamburger{padding:var(--space-sm);z-index:110;flex-direction:column;gap:5px;display:none}.nav-hamburger span{background:var(--color-text);width:22px;height:1.5px;transition:transform var(--duration) var(--ease-out), opacity var(--duration-fast);transform-origin:50%;display:block}.nav-hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.section{z-index:1;min-height:100vh;padding:var(--space-section) var(--space-xl);justify-content:center;align-items:center;display:flex;position:relative}.section-about,.section-services,.section-projects,.section-contact{background:linear-gradient(#0000 0%,#000000d9 5%,#02020cf0 20%,#02020cf5 80%,#000000d9 95%,#0000 100%)}.section-inner{width:100%;max-width:1140px;margin:0 auto}.section-label{font-family:var(--font-heading);font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:var(--ls-wider);color:var(--color-accent);text-transform:uppercase;margin-bottom:var(--space-lg);opacity:.9;text-shadow:0 0 24px var(--color-accent-dim)}.section-title{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:var(--fw-bold);line-height:var(--lh-heading);margin-bottom:var(--space-xl);letter-spacing:-.02em}.section-home{text-align:center;flex-direction:column;justify-content:center;padding-bottom:0}.home-content{max-width:880px;margin:0 auto}.home-subtitle{font-family:var(--font-heading);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--ls-wider);color:var(--color-accent);margin-bottom:var(--space-lg);opacity:.9;text-shadow:0 0 30px var(--color-accent-dim)}.home-title{font-family:var(--font-heading);font-size:var(--fs-display);font-weight:var(--fw-bold);line-height:var(--lh-tight);margin-bottom:var(--space-lg);letter-spacing:var(--ls-hero);text-shadow:0 4px 60px #000000b3,0 0 120px #0006,0 0 80px #f0a0500d}.title-line{display:block}.title-line.accent{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-bright));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 40px var(--color-accent-dim));background-clip:text}.title-line .dot{-webkit-text-fill-color:var(--color-accent-bright)}.home-description{font-size:var(--fs-body);color:var(--color-text-secondary);max-width:500px;margin:0 auto var(--space-xl);line-height:var(--lh-body);text-shadow:0 2px 30px #000c}.home-cta{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.scroll-indicator{opacity:.4;transition:opacity var(--duration-fast);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%)}.scroll-indicator:hover{opacity:.8}.scroll-text{font-family:var(--font-heading);font-size:var(--fs-micro);letter-spacing:var(--ls-wider);color:var(--color-text-muted)}.scroll-line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:36px;animation:2.5s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.2;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.about-grid{gap:var(--space-2xl);margin-bottom:var(--space-2xl);grid-template-columns:1.4fr 1fr;align-items:start;display:grid}.about-description{color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:var(--lh-body);font-size:var(--fs-body)}.about-stats{grid-template-columns:1fr 1fr;gap:14px;display:grid}.stat-card{background:var(--color-bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg) var(--space-md);text-align:center;transition:border-color var(--duration-hover), transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--glass-shine);pointer-events:none;opacity:0;transition:opacity var(--duration);position:absolute;inset:0}.stat-card:hover{border-color:var(--color-border-accent);box-shadow:0 16px 48px #0006, 0 0 24px var(--color-accent-subtle);transform:translateY(-4px)}.stat-card:hover:before{opacity:1}.stat-number{font-family:var(--font-heading);font-size:2.4rem;font-weight:var(--fw-bold);color:var(--color-accent);letter-spacing:-.02em;display:inline}.stat-plus{font-family:var(--font-heading);color:var(--color-accent-bright);font-size:1.2rem}.stat-label{font-size:var(--fs-label);color:var(--color-text-muted);letter-spacing:var(--ls-wide);margin-top:6px;display:block}.skills-title{font-family:var(--font-heading);font-size:var(--fs-h3);margin-bottom:var(--space-lg);font-weight:var(--fw-semibold)}.skills-grid{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--fs-small);color:var(--color-text-muted);transition:all var(--duration-hover);font-weight:var(--fw-medium);padding:7px 16px}.skill-tag:hover{border-color:var(--color-border-accent);color:var(--color-accent-bright);background:var(--color-accent-dim);box-shadow:0 0 16px var(--color-accent-subtle);transform:translateY(-1px)}.services-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.service-card{background:var(--color-bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--duration) var(--ease-out), border-color var(--duration-hover), box-shadow var(--duration) var(--ease-out);padding:40px 28px 36px;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);opacity:0;height:1px;transition:opacity var(--duration);position:absolute;top:0;left:20%;right:20%}.service-card:after{content:"";background:var(--glass-shine);pointer-events:none;opacity:0;transition:opacity var(--duration);position:absolute;inset:0}.service-card:hover{border-color:var(--color-border-accent);box-shadow:0 24px 64px #00000080, 0 0 40px var(--color-accent-subtle), inset 0 1px 0 #ffffff0a;transform:translateY(-6px)}.service-card:hover:before{opacity:.8}.service-card:hover:after{opacity:1}.service-icon{width:48px;height:48px;margin-bottom:var(--space-lg);color:var(--color-accent);opacity:.85;transition:transform var(--duration) var(--ease-out), opacity var(--duration-hover)}.service-card:hover .service-icon{opacity:1;transform:scale(1.08)}.service-title{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:-.01em;margin-bottom:12px}.service-desc{color:var(--color-text-muted);font-size:var(--fs-small);line-height:var(--lh-body)}.project-filters{margin-bottom:var(--space-xl);flex-wrap:wrap;gap:8px;display:flex}.filter-btn{font-family:var(--font-heading);font-size:var(--fs-label);letter-spacing:var(--ls-wide);text-transform:uppercase;border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-text-muted);transition:all var(--duration-hover);font-weight:var(--fw-medium);padding:8px 20px}.filter-btn:hover{border-color:var(--color-border-hover);color:var(--color-text);background:#ffffff08}.filter-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#000;box-shadow:0 4px 20px var(--color-accent-glow)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.project-card{border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);transition:transform var(--duration) var(--ease-out), border-color var(--duration-hover), box-shadow var(--duration) var(--ease-out);position:relative;overflow:hidden}.project-card:after{content:"";border-radius:var(--radius-lg);background:var(--glass-shine);pointer-events:none;opacity:0;transition:opacity var(--duration);position:absolute;inset:0}.project-card:hover{border-color:var(--color-border-accent);box-shadow:0 24px 64px #00000080, 0 0 32px var(--color-accent-subtle);transform:translateY(-5px)}.project-card:hover:after{opacity:1}.project-thumbnail{aspect-ratio:16/9;position:relative;overflow:hidden}.project-img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out), filter .6s}.project-card:hover .project-img{filter:brightness(.8);transform:scale(1.06)}.project-placeholder{width:100%;height:100%;font-family:var(--font-heading);font-size:2.8rem;font-weight:var(--fw-bold);color:#ffffff26;letter-spacing:-.02em;justify-content:center;align-items:center;display:flex}.project-overlay{backdrop-filter:blur(6px);opacity:0;transition:opacity var(--duration) var(--ease-out);background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-view{font-family:var(--font-heading);font-size:var(--fs-small);letter-spacing:var(--ls-wide);color:var(--color-accent);font-weight:var(--fw-medium);text-shadow:0 0 16px var(--color-accent-glow)}.project-info{padding:22px 24px 26px}.project-category{font-size:var(--fs-micro);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-accent);font-weight:var(--fw-medium);opacity:.85}.project-title{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:-.01em;margin:8px 0 10px}.project-desc{font-size:var(--fs-small);color:var(--color-text-muted);line-height:1.6}.contact-grid{gap:var(--space-2xl);grid-template-columns:1fr 1.1fr;align-items:start;display:grid}.contact-text{color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:var(--lh-body)}.contact-details{margin-bottom:var(--space-xl)}.contact-item{margin-bottom:var(--space-md)}.contact-label{font-size:var(--fs-micro);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-text-dim);font-weight:var(--fw-medium);margin-bottom:4px;display:block}.contact-value{font-size:var(--fs-body);color:var(--color-text);transition:color var(--duration-hover), text-shadow var(--duration)}a.contact-value:hover{color:var(--color-accent);text-shadow:0 0 16px var(--color-accent-dim)}.social-links{gap:12px;display:flex}.social-link{border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-muted);transition:all var(--duration-hover);border-radius:50%;justify-content:center;align-items:center;display:flex}.social-link svg{width:16px;height:16px}.social-link:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim);box-shadow:0 0 20px var(--color-accent-subtle);transform:translateY(-2px)}.footer{z-index:1;text-align:center;padding:var(--space-xl);font-size:var(--fs-small);color:var(--color-text-dim);border-top:1px solid var(--color-border);position:relative}@media (width<=1024px){.section{padding:var(--space-section) var(--space-lg)}.navbar{padding:12px 24px;left:12px;right:12px}}@media (width<=768px){.nav-hamburger{display:flex}.navbar{border-radius:var(--radius-md);padding:10px 18px;top:8px;left:8px;right:8px}.nav-links{backdrop-filter:blur(32px);width:75%;height:100vh;transition:right var(--duration) var(--ease-out);z-index:105;border-left:1px solid var(--glass-border);background:#04040cf7;flex-direction:column;justify-content:center;align-items:center;gap:40px;position:fixed;top:0;right:-100%}.nav-links.open{right:0}.nav-link{font-size:var(--fs-body)}.about-grid{gap:var(--space-xl);grid-template-columns:1fr}.services-grid,.projects-grid,.contact-grid{grid-template-columns:1fr}.section{padding:var(--space-section) var(--space-md)}}.btn{font-family:var(--font-heading);font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;border-radius:var(--radius-pill);transition:all var(--duration) var(--ease-out);white-space:nowrap;align-items:center;gap:10px;padding:14px 32px;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";width:0;height:0;transition:width .55s var(--ease-out), height .55s var(--ease-out);pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:hover:before{width:320px;height:320px}.btn-primary{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-bright));color:#0a0a0a;border:1px solid var(--color-accent);box-shadow:0 2px 12px #f0a05026}.btn-primary:before{background:var(--color-accent-hot)}.btn-primary:hover{box-shadow:0 8px 36px var(--color-accent-glow), 0 0 60px #f0a0501a;transform:translateY(-2px)}.btn-outline{color:var(--color-text-secondary);border:1px solid var(--color-border-hover);backdrop-filter:blur(8px);background:0 0}.btn-outline:before{background:#ffffff0a}.btn-outline:hover{border-color:var(--color-text-muted);color:var(--color-text);transform:translateY(-2px);box-shadow:0 4px 24px #0000004d}.btn-submit{justify-content:center;width:100%}.btn-submit svg{width:16px;height:16px;transition:transform var(--duration) var(--ease-out)}.btn-submit:hover svg{transform:translate(5px)}.contact-form{flex-direction:column;gap:20px;display:flex}.form-group{position:relative}.form-group input,.form-group textarea{background:var(--color-bg-card);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:22px var(--space-md) 10px;color:var(--color-text);font-size:var(--fs-body);transition:border-color var(--duration-hover), box-shadow var(--duration-hover), background var(--duration-hover);outline:none}.form-group textarea{resize:vertical;min-height:120px}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim), 0 0 24px var(--color-accent-subtle);background:var(--color-bg-card-hover)}.form-group label{top:50%;left:var(--space-md);font-size:var(--fs-small);color:var(--color-text-dim);pointer-events:none;transition:all var(--duration-hover) var(--ease-smooth);position:absolute;transform:translateY(-50%)}.form-group textarea~label{top:22px;transform:none}.form-group input:focus~label,.form-group input:not(:placeholder-shown)~label{font-size:var(--fs-micro);color:var(--color-accent);letter-spacing:var(--ls-wide);text-transform:uppercase;font-weight:var(--fw-medium);top:10px;transform:none}.form-group textarea:focus~label,.form-group textarea:not(:placeholder-shown)~label{font-size:var(--fs-micro);color:var(--color-accent);letter-spacing:var(--ls-wide);text-transform:uppercase;font-weight:var(--fw-medium);top:6px}.cursor{z-index:9999;pointer-events:none;mix-blend-mode:difference;position:fixed;top:0;left:0}.cursor-dot{background:#fff;border-radius:50%;width:5px;height:5px;transition:width .15s,height .15s,background .2s;position:absolute;transform:translate(-50%,-50%)}.cursor-ring{width:32px;height:32px;transition:width var(--duration) var(--ease-out), height var(--duration) var(--ease-out), border-color var(--duration-hover), background var(--duration);border:1px solid #ffffff59;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.cursor.hovering .cursor-dot{background:var(--color-accent);width:8px;height:8px}.cursor.hovering .cursor-ring{border-color:var(--color-accent);opacity:.7;background:#f0a0500a;width:52px;height:52px}
