*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0a0a0a;--color-bg-elevated:#111;--color-text:#fff;--color-text-dim:#888;--color-text-muted:#555;--color-border:#2a2a2a;--color-border-hover:#444;--color-accent:#fff;--font-display:"Archivo Black", sans-serif;--font-mono:"Space Mono", monospace;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--space-2xl:12rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-medium:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.5s cubic-bezier(.34, 1.56, .64, 1)}html{scroll-behavior:smooth;font-size:16px}html:not(.i18n-ready) body{visibility:hidden}body{font-family:var(--font-mono);background-color:var(--color-bg);color:var(--color-text);cursor:default;line-height:1.6;overflow-x:hidden}.grain-overlay{pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.cursor-glow{pointer-events:none;z-index:1;opacity:0;background:radial-gradient(circle,#ffffff08 0%,#0000 70%);border-radius:50%;width:400px;height:400px;transition:opacity .3s;position:fixed;transform:translate(-50%,-50%)}body:hover .cursor-glow{opacity:1}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-text);color:var(--color-bg)}.lang-switcher{top:var(--space-md);right:var(--space-md);z-index:100;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.75rem;display:flex;position:fixed}.lang-btn{color:var(--color-text-muted);font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:.25rem 0}.lang-btn:hover{color:var(--color-text)}.lang-btn.active{color:var(--color-text);text-underline-offset:4px;text-decoration:underline}.lang-divider{color:var(--color-border);-webkit-user-select:none;user-select:none}.hero{min-height:100vh;padding:var(--space-lg);opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);flex-direction:column;justify-content:center;align-items:flex-start;padding-left:clamp(2rem,10vw,12rem);display:flex;position:relative;transform:translateY(20px)}.hero.revealed{opacity:1;transform:translateY(0)}.hero-content{z-index:2;position:relative}.hero-label{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-md);opacity:0;font-size:.75rem;animation:.8s .2s forwards fadeSlideIn}.hero-name{flex-direction:column;gap:0;display:flex}.name-line{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;opacity:0;font-size:clamp(4rem,15vw,12rem);line-height:.85;animation:1s cubic-bezier(.16,1,.3,1) forwards revealUp;display:block;transform:translateY(100%)}.name-line[data-delay="0"]{animation-delay:.4s}.name-line[data-delay="1"]{color:var(--color-text-dim);animation-delay:.55s}.hero-title-wrap{align-items:center;gap:var(--space-sm);margin-top:var(--space-md);opacity:0;animation:.8s .9s forwards fadeSlideIn;display:flex}.hero-dash{background:var(--color-text-muted);width:60px;height:2px}.hero-title{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-dim);font-size:clamp(.875rem,2vw,1.125rem)}.scroll-indicator{bottom:var(--space-lg);right:var(--space-lg);align-items:center;gap:var(--space-sm);opacity:0;flex-direction:column;animation:1s 1.5s forwards fadeIn;display:flex;position:absolute}.scroll-text{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);writing-mode:vertical-rl;font-size:.7rem}.scroll-line{background:linear-gradient(to bottom, var(--color-text-muted), transparent);width:1px;height:60px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(.6)}}.section{padding:var(--space-xl) var(--space-lg);opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);padding-left:clamp(2rem,10vw,12rem);transform:translateY(60px)}.section.revealed{opacity:1;transform:translateY(0)}.section-header{align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.section-number{font-family:var(--font-display);color:var(--color-border);transition:color var(--transition-medium);font-size:clamp(3rem,8vw,6rem);line-height:1}.section:hover .section-number{color:var(--color-border-hover)}.section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.5rem)}.services-container{background:var(--color-border);max-width:900px;margin-bottom:var(--space-lg);flex-direction:column;gap:1px;display:flex}.service-item{gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg);transition:all var(--transition-medium);cursor:default;opacity:0;grid-template-columns:auto 1fr auto;align-items:center;display:grid;transform:translate(-20px)}.service-item.revealed{opacity:1;transform:translate(0)}.service-item:hover{background:var(--color-bg-elevated);padding-left:calc(var(--space-lg) + 1rem)}.service-index{font-family:var(--font-mono);color:var(--color-text-muted);min-width:2rem;font-size:.75rem}.service-content h3{font-family:var(--font-display);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1rem,2.5vw,1.5rem)}.service-content p{color:var(--color-text-dim);font-size:.875rem}.service-arrow{color:var(--color-text-muted);opacity:0;transition:all var(--transition-medium);font-size:1.5rem;transform:translate(-10px)}.service-item:hover .service-arrow{opacity:1;transform:translate(0)}.services-contact{align-items:center;gap:var(--space-md);font-size:1.125rem;display:flex}.contact-prompt{color:var(--color-text-dim)}.contact-link{color:var(--color-text);align-items:center;gap:var(--space-xs);border-bottom:1px solid var(--color-text);transition:all var(--transition-fast);padding-bottom:2px;text-decoration:none;display:inline-flex}.contact-link:hover{gap:var(--space-sm)}.link-arrow{transition:transform var(--transition-fast)}.contact-link:hover .link-arrow{transform:translate(2px,-2px)}.diagonal-divider{background:linear-gradient(to bottom right, var(--color-bg) 49.5%, var(--color-bg-elevated) 50%);height:150px;margin:var(--space-lg) 0}.projects{background:var(--color-bg-elevated);padding-right:var(--space-lg)}.projects-container{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));max-width:1400px;display:grid}.project-item{background:var(--color-bg);border:1px solid var(--color-border);min-height:320px;transition:all var(--transition-medium);opacity:0;flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(30px)}.project-item.revealed{opacity:1;transform:translateY(0)}.project-item.revealed:hover{border-color:var(--color-text-muted);transform:translateY(-4px)}.project-pattern{opacity:.08;transition:opacity var(--transition-medium);position:absolute;inset:0}.project-item:hover .project-pattern{opacity:.15}[data-pattern=stripes] .project-pattern{background:repeating-linear-gradient(45deg, transparent, transparent 10px, var(--color-text) 10px, var(--color-text) 12px)}[data-pattern=dots] .project-pattern{background-image:radial-gradient(circle, var(--color-text) 1.5px, transparent 1.5px);background-size:20px 20px}[data-pattern=lines] .project-pattern{background:repeating-linear-gradient(0deg, transparent, transparent 8px, var(--color-text) 8px, var(--color-text) 9px)}[data-pattern=circles] .project-pattern{background:radial-gradient(circle at center, transparent 20%, var(--color-text) 20.5%, var(--color-text) 21%, transparent 21.5%), radial-gradient(circle at center, transparent 40%, var(--color-text) 40.5%, var(--color-text) 41%, transparent 41.5%), radial-gradient(circle at center, transparent 60%, var(--color-text) 60.5%, var(--color-text) 61%, transparent 61.5%), radial-gradient(circle at center, transparent 80%, var(--color-text) 80.5%, var(--color-text) 81%, transparent 81.5%)}[data-pattern=mesh] .project-pattern{background:linear-gradient(45deg, var(--color-text) 1px, transparent 1px), linear-gradient(-45deg, var(--color-text) 1px, transparent 1px);background-size:30px 30px}.project-info{z-index:2;padding:var(--space-lg);flex-direction:column;height:100%;display:flex;position:relative}.project-category{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-sm);font-size:.7rem}.project-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:var(--space-sm);color:var(--color-text);font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.2}.project-description{color:var(--color-text-dim);padding-bottom:var(--space-md);margin-bottom:auto;font-size:.9rem;line-height:1.5}.project-tech-stack{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.tech-badge{font-family:var(--font-mono);color:var(--color-text);background:var(--color-border);letter-spacing:.05em;transition:all var(--transition-fast);padding:.35rem .75rem;font-size:.7rem}.project-item:hover .tech-badge{background:var(--color-text-muted)}.contact{background:var(--color-bg);min-height:80vh;padding-right:var(--space-lg);flex-direction:column;display:flex}.contact-container{flex:1;max-width:800px}.contact-intro{margin-bottom:var(--space-lg)}.contact-intro p{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.2}.contact-links{background:var(--color-border);flex-direction:column;gap:1px;display:flex}.contact-item{gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg);color:var(--color-text);transition:all var(--transition-medium);grid-template-columns:120px 1fr auto;align-items:center;text-decoration:none;display:grid}.contact-item:hover{background:var(--color-text);color:var(--color-bg)}.contact-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition-medium);font-size:.75rem}.contact-item:hover .contact-label{color:var(--color-text-muted)}.contact-value{font-family:var(--font-mono);font-size:clamp(.875rem,2vw,1.125rem)}.contact-arrow{opacity:0;transition:all var(--transition-medium);font-size:1.25rem;transform:translate(-10px)}.contact-item:hover .contact-arrow{opacity:1;transform:translate(0)}.footer{padding-top:var(--space-xl);padding-bottom:var(--space-md);align-items:center;gap:var(--space-sm);color:var(--color-text-muted);letter-spacing:.1em;margin-top:auto;font-size:.75rem;display:flex}.footer-divider{color:var(--color-border)}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes revealUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media screen and (width<=1024px){.hero,.section{padding-left:var(--space-md)}}@media screen and (width<=768px){:root{--space-lg:3rem;--space-xl:5rem}.lang-switcher{top:var(--space-sm);right:var(--space-sm);font-size:.65rem}.hero{padding:var(--space-md);padding-bottom:var(--space-xl);justify-content:flex-end}.name-line{font-size:clamp(2.5rem,12vw,4rem)}.hero-title-wrap{flex-wrap:wrap}.hero-dash{width:40px}.hero-title{font-size:.75rem}.scroll-indicator{bottom:var(--space-md);right:var(--space-sm);position:absolute}.scroll-text{font-size:.6rem}.scroll-line{height:40px}.section{padding:var(--space-lg) var(--space-md)}.section-header{gap:var(--space-xs);flex-direction:column}.section-number{font-size:2.5rem}.service-item{gap:var(--space-sm);padding:var(--space-md);grid-template-columns:1fr}.service-index{font-size:.65rem}.service-arrow{display:none}.projects-container{grid-template-columns:1fr}.project-item{min-height:280px}.project-info{padding:var(--space-md)}.contact-item{gap:var(--space-xs);grid-template-columns:1fr}.contact-label{font-size:.65rem}.contact-arrow{display:none}.diagonal-divider{height:80px}.cursor-glow{display:none}}@media (hover:none){.service-item:hover{padding-left:var(--space-lg);background:var(--color-bg)}.service-item,.project-item{opacity:1;transform:none}.project-pattern{opacity:.12}.cursor-glow{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.hero,.section{opacity:1;transform:none}.name-line,.hero-label,.hero-title-wrap,.scroll-indicator{opacity:1;animation:none;transform:none}.service-item,.project-item{opacity:1;transform:none}}
