:root{font-family:Montserrat,sans-serif;line-height:1.5;font-weight:400;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;-webkit-font-smoothing:antialiased;overflow-x:hidden}html{scroll-behavior:smooth}:root{--black: #000000;--gray-50: #0a0a0a;--gray-100: #1a1a1a;--gray-200: #2a2a2a;--gray-300: #3a3a3a;--gray-400: #6a6a6a;--gray-500: #8a8a8a;--gray-600: #aaaaaa;--white: #ffffff;--accent: #0066cc;--accent-400: #0052a3;--accent-hover: #0052a3;--accent-LogoShadow: #1a1e229f;--purple: #8b5cf6;--purple-hover: #7b4ce6;--yellow: #f5a623;--navbar-h: 60px}.snow-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.app{position:relative;z-index:1;-webkit-user-select:none;user-select:none}.header-navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--navbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:#000000bf;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-navbar h1{color:var(--white);font-size:1.4rem;margin:0;letter-spacing:.03em}.nav-links{display:flex;list-style:none;gap:2rem;margin:0;padding:0;position:absolute;left:50%;transform:translate(-50%)}.nav-links li{list-style:none}.nav-links a{position:relative;color:var(--gray-600);text-decoration:none;font-size:14px;transition:color .2s;font-family:var(--font-family)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--accent);transition:width .3s ease}.nav-links a:hover{color:var(--white)}.nav-links a:hover:after{width:100%}.nav-right{display:flex;align-items:center;gap:.75rem}.nav-action{background:var(--accent);color:var(--white);padding:6px 16px;border-radius:12px;text-decoration:none;font-size:13px;font-weight:500;transition:background .2s;white-space:nowrap}.nav-action:hover{background:var(--accent-hover)}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:var(--gray-200);border:1px solid var(--gray-300);border-radius:10px;cursor:pointer;padding:0;transition:background .2s,border-color .2s}.hamburger:hover{background:var(--gray-300);border-color:var(--accent)}.hamburger span{display:block;width:18px;height:2px;background:var(--white);border-radius:2px;transition:transform .35s ease,opacity .25s ease,width .3s ease;transform-origin:center}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;width:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-container{min-height:calc(100vh - var(--navbar-h));padding-top:var(--navbar-h);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#131313,#000 70%);text-align:center}.hero-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:800px;padding:2rem}.hero-title{font-size:clamp(4.5rem,6vw,4rem);font-weight:800;color:var(--white);margin:0;line-height:1.15;text-shadow:0 0 10px rgba(0,0,0,.5)}.hero-subtitle{color:var(--gray-500);font-size:1rem;line-height:1.7;margin:0}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-primary{background:var(--accent);color:var(--white);padding:.75rem 1.75rem;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;transition:background .2s ease,transform .2s ease}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-4px)}.btn-secondary{background:transparent;color:var(--white);padding:.75rem 1.75rem;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;border:1px solid var(--gray-300);transition:border-color .2s ease,transform .2s ease}.btn-secondary:hover{border-color:var(--gray-500);transform:translateY(-4px)}.hero-socials{display:flex;gap:.75rem;margin-top:.5rem}.social-icon{width:42px;height:42px;border-radius:50%;background:var(--gray-200);border:1px solid var(--gray-300);display:flex;align-items:center;justify-content:center;color:var(--gray-600);transition:all .2s;text-decoration:none}.social-icon:hover{background:var(--gray-300);color:var(--white)}.skills{margin-top:50px;padding:60px 1.5rem;background:var(--gray-50);border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100)}.skills-container{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}.skill{display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--gray-500);font-size:13px;font-weight:400;min-width:80px;opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease,color .2s}.skill--visible{opacity:1;transform:translateY(0)}.skill-icon{width:64px;height:64px;background:var(--accent-400);border:1px solid var(--gray-300);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--gray-50);transition:background .2s ease,transform .2s ease}.skill:hover .skill-icon{background:var(--accent-hover);transform:translateY(-4px)}.skill:hover{color:var(--white)}.projects-container{margin-top:100px;padding:0 1.5rem 100px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem}.projects-title-block h1{font-size:2.5rem;color:var(--white);margin:0}.projects-title-block h2{margin:.5rem 0 0;font-size:1.1rem;color:var(--gray-500);font-weight:400}.project-reveal{width:100%;max-width:900px;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.project-reveal--visible{opacity:1;transform:translateY(0)}.project-card{width:100%;padding:3rem 2.5rem 2.5rem;border-radius:28px;background:linear-gradient(180deg,var(--black) 0%,var(--gray-50) 100%);display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.pc-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:12px;font-weight:500;padding:.35rem .9rem;border-radius:999px;border:1px solid var(--gray-300);background:var(--gray-100);color:var(--gray-500);letter-spacing:.02em}.pc-logo{width:80px;height:80px;border-radius:20px;object-fit:cover;animation:subtleFloat 4s ease-in-out infinite}.pc--blue .pc-title{color:var(--gray-600)}.pc--purple .pc-title{color:var(--purple)}.pc-title{margin:0;font-size:2.2rem;line-height:1.15}.pc-description{margin:0;max-width:620px;font-size:.95rem;line-height:1.7;color:var(--gray-500)}.pc-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.pc-badge i{margin-right:.5rem}.pc-tag{font-size:12px;padding:.3rem .75rem;border-radius:999px;background:var(--gray-100);border:1px solid var(--gray-300);color:var(--gray-600);font-weight:400;letter-spacing:.01em;transition:transform .2s,color .2s}.pc--blue .pc-tag:hover{transform:translateY(-4px);color:var(--white)}.pc--purple .pc-tag:hover{border-color:var(--purple);color:var(--purple)}.pc-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.25rem}.pc-link-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}.pc-link-btn:hover{transform:translateY(-3px)}.pc--blue .pc-link-btn--primary{background:var(--accent);color:var(--white)}.pc--blue .pc-link-btn--primary:hover{background:var(--accent-hover)}.pc--purple .pc-link-btn--primary{background:var(--purple);color:var(--white)}.pc--purple .pc-link-btn--primary:hover{background:var(--purple-hover)}.pc-link-btn--secondary{background:transparent;color:var(--gray-600);border:1px solid var(--gray-300)}.pc-link-btn--secondary:hover{border-color:var(--gray-500);color:var(--white)}.pc-previews{display:grid;gap:1rem;width:100%;margin-top:.75rem}.pc-previews--2{grid-template-columns:repeat(2,1fr)}.pc-previews--3{grid-template-columns:repeat(3,1fr)}.pc-previews--4{grid-template-columns:repeat(4,1fr)}.pc-preview-item{display:flex;flex-direction:column;align-items:center;gap:.6rem}.pc-preview-item img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:12px;border:1px solid var(--gray-200);background:var(--gray-100);display:block;transition:transform .35s ease,filter .3s ease}.pc-preview-item:hover img{transform:scale(1.03);filter:brightness(1.08)}.pc-preview-caption{font-size:11.5px;color:var(--gray-500);letter-spacing:.01em}.pc-previews--fan{display:flex;justify-content:center;align-items:flex-end;gap:.75rem;padding:2rem 0 3rem;width:100%;overflow:visible}.pc-previews--fan .pc-preview-item{position:relative;flex:0 1 190px;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:transform .35s ease,z-index 0s}.pc-previews--fan .pc-preview-item img{aspect-ratio:9 / 19;border-radius:3px;object-fit:cover;width:100%;border:1px solid var(--gray-200);background:var(--gray-100);display:block;transition:transform .35s ease,filter .3s ease,box-shadow .35s ease;box-shadow:0 8px 32px #00000080}.pc-previews--fan .pc-preview-item:nth-child(1){transform:translateY(5px);z-index:1}.pc-previews--fan .pc-preview-item:nth-child(2){transform:translateY(25px);z-index:2}.pc-previews--fan .pc-preview-item:nth-child(3){transform:translateY(0);z-index:4}.pc-previews--fan .pc-preview-item:nth-child(4){transform:translateY(45px);z-index:3}.pc-previews--fan .pc-preview-item:hover{transform:translateY(-16px)!important;z-index:10}.pc-previews--fan .pc-preview-item:hover img{box-shadow:0 20px 48px #000000b3;filter:brightness(1.06)}.lightbox{position:fixed;inset:0;z-index:999;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:zoom-out;animation:lightboxIn .2s ease}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}.lightbox img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:16px;box-shadow:0 24px 80px #000c;animation:lightboxScale .25s ease}@keyframes lightboxScale{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-caption{font-size:13px;color:var(--gray-500);letter-spacing:.02em}.lightbox-close{position:fixed;top:1.25rem;right:1.25rem;width:40px;height:40px;border-radius:50%;background:var(--gray-200);border:1px solid var(--gray-300);color:var(--white);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}.lightbox-close:hover{background:var(--gray-300);transform:scale(1.1)}.faq-section{padding:80px 1.5rem 100px;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.faq-title-block{text-align:center}.faq-title-block h1{font-size:2.5rem;color:var(--white);margin:0}.faq-title-block h2{margin:.5rem 0 0;font-size:1.1rem;color:var(--gray-500);font-weight:400}.faq-list{width:100%;max-width:720px;display:flex;flex-direction:column;gap:.75rem}.faq-item{background:var(--accent-LogoShadow);border-radius:8px;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,background-color .2s}.faq-item--visible{opacity:1;transform:translateY(0)}.faq-item--open{border-color:var(--gray-300)}.faq-question{width:100%;background:transparent;border:none;padding:1.15rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;text-align:left}.faq-question-text{font-size:15px;font-weight:600;color:var(--white);line-height:1.4}.faq-chevron{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--black);border:1px solid var(--gray-300);display:flex;align-items:center;justify-content:center;color:var(--white);transition:background .2s,color .2s,transform .35s cubic-bezier(.4,0,.2,1)}.faq-item--open .faq-chevron{background:var(--accent-400);border-color:var(--accent);color:var(--white);transform:rotate(180deg)}.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.4,0,.2,1)}.faq-item--open .faq-body{grid-template-rows:1fr}.faq-body-inner{overflow:hidden}.faq-answer{padding:1rem 1.5rem 1.25rem;font-size:14px;color:var(--gray-500);line-height:1.75;border-top:1px solid var(--gray-200)}.reviews-section{padding:80px 0;overflow:hidden;display:flex;flex-direction:column;align-items:center}.reviews-title-block{text-align:center;width:100%;max-width:900px;margin:0 auto 48px;padding:0 40px}.reviews-title-block h1{margin:0;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--white)}.reviews-viewport{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}.reviews-track{display:flex;gap:24px;width:max-content;will-change:transform}.review-card{width:clamp(240px,28vw,320px);flex-shrink:0;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s}.review-card:hover{border-color:var(--gray-500);transform:translateY(-3px)}.review-stars{color:var(--yellow);font-size:1.1rem;letter-spacing:2px}.review-text{color:var(--gray-500);font-size:.95rem;line-height:1.6;flex:1;margin:0}.review-author{color:var(--white);font-weight:700;font-size:.9rem}.footer-copy{text-align:center;font-size:12px;color:var(--gray-400);padding:2rem;font-weight:400}@media(max-width:900px){.hero-title{font-size:clamp(2.5rem,6vw,4rem)}.hamburger{display:flex}.nav-action{display:none}.nav-links{position:fixed;top:var(--navbar-h);left:0;right:0;z-index:99;flex-direction:column;align-items:stretch;gap:0;padding:0;background:#0a0a0af7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--gray-200);max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1);transform:none}.nav-links.open{max-height:400px}.nav-links li{border-bottom:1px solid var(--gray-100)}.nav-links li:last-child{border-bottom:none}.nav-links a{display:block;padding:1rem 1.5rem;font-size:15px;color:var(--gray-600);transition:background .15s,color .15s}.nav-links a:hover{background:var(--gray-100);color:var(--white)}.nav-links a:after{display:none}.nav-links li:last-child a{color:var(--accent);font-weight:600}.pc-previews--4{grid-template-columns:repeat(2,1fr)}.pc-title{font-size:1.75rem}.project-card{padding:2rem 1.25rem}.pc-previews--fan .pc-preview-item{flex:0 1 110px}.pc-previews--fan .pc-preview-item:nth-child(1){transform:translateY(50px)}.pc-previews--fan .pc-preview-item:nth-child(2){transform:translateY(18px)}.pc-previews--fan .pc-preview-item:nth-child(3){transform:translateY(0)}.pc-previews--fan .pc-preview-item:nth-child(4){transform:translateY(32px)}.faq-title-block h1{font-size:1.9rem}.faq-question-text{font-size:14px}.reviews-title-block{padding:0 20px}.review-card{width:clamp(200px,72vw,280px)}}@media(max-width:560px){.pc-previews--3,.pc-previews--4{grid-template-columns:repeat(2,1fr)}.pc-previews--fan .pc-preview-item{flex:0 1 90px}.review-card{width:clamp(180px,78vw,260px)}}@media(max-width:380px){.pc-previews--2,.pc-previews--3,.pc-previews--4{grid-template-columns:1fr}}@media(max-width:560px){.pc-previews--3,.pc-previews--4{grid-template-columns:repeat(2,1fr)}.pc-previews--fan{flex-wrap:wrap;overflow:hidden;padding:1rem 0 1.5rem;gap:.5rem}.pc-previews--fan .pc-preview-item{flex:0 1 80px}.project-card{overflow:hidden}.review-card{width:clamp(180px,78vw,260px)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px;border:3px solid transparent}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@keyframes spawn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes subtleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-badge,.hero-title,.hero-subtitle,.social-icon,.btn-primary,.btn-secondary,.hero-cta{opacity:0;animation:spawn .7s ease-out forwards}.hero-badge{animation-delay:0s}.hero-title{animation-delay:.15s}.hero-subtitle{animation-delay:.3s}.social-icon{animation-delay:.45s}.btn-primary{animation-delay:.6s}.btn-secondary{animation-delay:.75s}.hero-cta{animation-delay:.45s}
