:root{--bg:#020608;--bg2:#060d12;--bg3:#0a1520;--surface:#0d1f2d;--surface2:#123;--border:#00e6c81f;--border2:#13debc24;--cyan:#00e6c7ca;--cyan2:#00bfa8;--cyan-dim:#00e6c814;--cyan-glow:#00e6c840;--amber:#f0a500;--amber-dim:#f0a5001f;--rose:#ff4b7a;--rose-dim:#ff4b7a1f;--violet:#7c5cfc;--violet-dim:#7c5cfc1f;--text:#e8f4f2;--text2:#e8f4f299;--text3:#e8f4f252;--font-display:"Bricolage Grotesque", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--r:12px;--r2:12px;--r-pill:700px;--max:1200px;--glass-bg:#0d1f2d61;--glass-bg-soft:#0d1f2d47;--glass-border:#ffffff17;--glass-blur:blur(5px) saturate(100%);--glass-shadow:0 8px 32px #00000047, inset 0 1px 0 #ffffff0d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.5;overflow-x:hidden}img,svg{max-width:100%;display:block}button{font:inherit}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}.container{max-width:var(--max);margin:0 auto;padding:0 5%}section{z-index:1;padding:100px 0;position:relative}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.72rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--cyan);width:16px;height:1px}.center .eyebrow{justify-content:center}.center .eyebrow:before{display:none}.heading{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:1rem;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;line-height:1.15}.subhead{color:var(--text2);max-width:540px;font-size:1rem;line-height:1.75}.center{text-align:center}.center .subhead{margin:0 auto}.btn{border-radius:var(--r-pill);font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.4rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s,color .25s;display:inline-flex}.btn svg{width:13px;height:13px}.btn-ghost{color:var(--text2);border:1px solid var(--border2);background:0 0}.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}.btn-primary{background:var(--cyan);color:var(--bg);font-weight:700}.btn-primary:hover{box-shadow:0 12px 32px var(--cyan-glow);transform:translateY(-2px)}.btn-block{width:100%}.glow-divider{height:1px;max-width:var(--max);background:linear-gradient(90deg, transparent, var(--border), transparent);margin:0 auto}.reveal{opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}.reveal-left{opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translate(-28px)}.reveal-left.visible{opacity:1;transform:none}@media (width<=768px){section{padding:70px 0}}.particle-field{z-index:0;pointer-events:none;opacity:.6;position:fixed;inset:0}.nav{z-index:1000;background:var(--glass-blur);width:min(94%,1180px);height:65px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--r2);justify-content:space-between;align-items:center;padding:.4rem .5rem .5rem 1.4rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 36px #00000059}.nav.scrolled{background:var(--glass-bg);border-color:var(--glass-border);box-shadow:0 14px 50px #00000080, 0 0 0 1px var(--cyan-dim);top:10px}.nav-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);align-items:center;gap:.4rem;font-size:1.6rem;font-weight:800;text-decoration:none;display:flex}.nav-dot{background:var(--cyan);border-radius:50%;width:15px;height:15px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 var(--cyan-glow)}50%{box-shadow:0 0 0 8px #0000}}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--text2);letter-spacing:.02em;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--cyan);width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--cyan)}.nav-links a:hover:after{width:100%}.nav-actions{align-items:center;gap:1rem;display:flex}.nav-burger{background:var(--surface2);border:1px solid var(--border2);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:none}.nav-burger:hover{border-color:var(--cyan);background:var(--cyan-dim)}.mobile-menu{z-index:999;background:var(--glass-bg);width:min(94%,1180px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--r2);opacity:0;pointer-events:none;padding:1.4rem;transition:opacity .35s,transform .35s cubic-bezier(.16,1,.3,1);display:none;position:fixed;top:96px;left:50%;transform:translate(-50%)translateY(-16px);box-shadow:0 24px 60px #00000080}.mobile-menu.open{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.mobile-menu ul{flex-direction:column;gap:.3rem;margin-bottom:1.2rem;list-style:none;display:flex}.mobile-menu ul a{border-radius:var(--r);color:var(--text2);padding:.85rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .25s;display:block}.mobile-menu ul a:hover{background:var(--cyan-dim);color:var(--cyan)}.mobile-menu-actions{flex-direction:column;gap:.7rem;display:flex}@media (width<=768px){.nav-links,.nav-resume{display:none}.nav-burger{display:flex}.mobile-menu{display:block}.nav{padding:.55rem .55rem .55rem 1.2rem}}@media (width>=769px){.nav-burger,.mobile-menu{display:none}}.hero{z-index:1;align-items:center;min-height:100svh;padding:130px 5% 80px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#00e6c80a 1px,#0000 1px),linear-gradient(90deg,#00e6c80a 1px,#0000 1px);background-size:42px 42px;animation:22s linear infinite gridDrift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 40%,#0000 100%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 40%,#0000 100%)}.hero-orb{pointer-events:none;filter:blur(80px);border-radius:50%;position:absolute}.hero-orb-1{background:radial-gradient(circle,#00e6c814 0%,#0000 70%);width:600px;height:600px;animation:8s ease-in-out infinite orbPulse;top:-200px;right:-100px}.hero-orb-2{background:radial-gradient(circle,#7c5cfc12 0%,#0000 70%);width:400px;height:400px;animation:8s ease-in-out 2s infinite orbPulse;bottom:0;left:-100px}.hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;padding:0;display:grid}.hero-tag{background:var(--cyan-dim);border:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--cyan);border-radius:10px;align-items:center;gap:.6rem;margin-bottom:1.6rem;padding:.35rem 1rem .35rem .5rem;font-size:.78rem;font-weight:600;animation:.8s cubic-bezier(.16,1,.3,1) both fadeSlideDown;display:inline-flex;position:relative}.hero-tag-dot{background:var(--cyan);border-radius:50%;width:6px;height:6px;animation:1.5s step-end infinite blink;position:relative}.hero-tag-dot:after{content:"";border:1px solid var(--cyan);opacity:0;border-radius:50%;animation:2.4s ease-out infinite radarPing;position:absolute;inset:-4px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes radarPing{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}.hero-title{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(2.6rem,5vw,5.2rem);font-weight:800;line-height:1.05}.hero-title .line{display:block;overflow:hidden}.word{animation:.8s cubic-bezier(.16,1,.3,1) both wordReveal;display:inline-block}.word-d1{animation-delay:60ms}.word-d2{animation-delay:.12s}.word-d3{animation-delay:.18s}.word-d4{animation-delay:.24s}.word-d5{animation-delay:.3s}.accent{background:linear-gradient(90deg, var(--cyan), #00ff9d, var(--cyan));-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:.8s cubic-bezier(.16,1,.3,1) .12s both wordReveal,5s linear infinite shimmer}.hero-sub{color:var(--text2);max-width:460px;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.75;animation:1s cubic-bezier(.16,1,.3,1) .2s both fadeSlideDown}.hero-cta{flex-wrap:wrap;gap:1rem;margin-bottom:3rem;animation:1s cubic-bezier(.16,1,.3,1) .3s both fadeSlideDown;display:flex}.hero-btn{padding:.7rem 1.5rem;font-size:.95rem;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.hero-btn:hover{transform:translateY(-2px)}.btn-primary.hero-btn:hover{box-shadow:0 8px 28px #00e6c859}.hero-btn:after{content:"";background:linear-gradient(120deg,#0000,#ffffff2e,#0000);width:40%;height:100%;transition:left .6s;position:absolute;top:0;left:-60%;transform:skew(-20deg)}.hero-btn:hover:after{left:130%}.hero-stats{flex-wrap:wrap;gap:2.5rem;animation:1s cubic-bezier(.16,1,.3,1) .4s both fadeSlideDown;display:flex}.hero-stat{align-items:center;gap:2.5rem;display:flex}.hero-stat-divider{background:var(--border2);width:1px;height:32px}.hero-stat-num{font-family:var(--font-display);color:var(--text);font-size:2rem;font-weight:800;line-height:1}.hero-stat-num span{color:var(--cyan);animation:3s ease-in-out infinite numGlow}.hero-stat-label{color:var(--text3);letter-spacing:.04em;text-transform:uppercase;margin-top:.3rem;font-size:.78rem}.hero-visual{animation:1s cubic-bezier(.16,1,.3,1) .2s both fadeSlideLeft;position:relative}.hero-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);border-radius:var(--r2);padding:2rem;transition:transform .4s;position:relative;overflow:hidden}.hero-card:hover{transform:translateY(-4px)}.hero-card:before{content:"";background:linear-gradient(135deg,#00e6c80a 0%,#0000 50%);position:absolute;inset:0}.hero-card-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:.6rem;font-size:.72rem}.hero-card-title{font-family:var(--font-display);margin-bottom:.4rem;font-size:1.2rem;font-weight:700}.hero-card-rating{color:var(--amber);align-items:center;gap:.4rem;margin-bottom:1.2rem;font-size:.85rem;display:flex}.hero-card-progress-label{color:var(--text2);justify-content:space-between;margin-bottom:.4rem;font-size:.78rem;display:flex}.hero-card-bar{background:var(--bg3);border-radius:10px;height:4px;margin-bottom:.5rem;overflow:hidden}.hero-card-bar-fill{background:linear-gradient(90deg, var(--cyan), #00ff9d);background-size:200%;border-radius:10px;height:100%;transition:width 1.5s;animation:3s linear infinite shimmer}.hero-card-note{color:var(--text3);margin-bottom:1rem;font-size:.72rem}.hero-card-divider{background:var(--border2);height:1px;margin-bottom:1.2rem}.hero-card-avatars{align-items:center;gap:.6rem;display:flex}.avatar-stack{display:flex}.avatar-item{border:2px solid var(--surface);background:var(--bg3);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-left:-8px;font-size:.9rem;display:flex}.avatar-item:first-child{margin-left:0}.hero-card-avatars-label{color:var(--text2);font-size:.78rem}.float-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r);background:#0d1f2df2;align-items:center;gap:.8rem;padding:.9rem 1.2rem;display:flex;position:absolute;box-shadow:0 20px 60px #00000080}.float-card-1{animation:4s ease-in-out infinite floatAnim;top:-20px;right:-20px}.float-card-2{animation:4s ease-in-out 2s infinite floatAnim;bottom:-20px;left:-20px}.float-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.float-icon-cyan{color:var(--cyan);background:#00e6c81f}.float-icon-amber{color:var(--amber);background:#f0a5001f}.float-num{font-family:var(--font-display);font-size:1.1rem;font-weight:800}.float-num-cyan{color:var(--cyan)}.float-num-amber{color:var(--amber)}.float-sub{color:var(--text3);font-size:.72rem}@keyframes floatAnim{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideLeft{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes wordReveal{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes shimmer{to{background-position:-200%}}@keyframes gridDrift{0%{background-position:0 0}to{background-position:42px 42px}}@keyframes orbPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}@keyframes numGlow{0%,to{text-shadow:0 0 #00e6c800}50%{text-shadow:0 0 10px #00e6c88c}}@media (width<=768px){.hero{height:60svh;min-height:unset;align-items:stretch;padding:clamp(84px,16vw,110px) 6% clamp(28px,6vw,44px)}.hero-inner{grid-template-columns:1fr;gap:0;height:100%}.hero-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.6rem,5.5vw,2.6rem);height:100%;display:flex}.hero-copy{flex-direction:column;align-items:center;display:flex}.hero-tag{margin:0 auto;padding:.3rem .85rem .3rem .45rem;font-size:.7rem}.hero-title{margin:clamp(.9rem,3.5vw,1.3rem) 0 0;font-size:clamp(2.6rem,12.5vw,3.8rem);line-height:1.06}.hero-sub{max-width:480px;margin:clamp(.9rem,3.5vw,1.3rem) auto 0;font-size:clamp(.9rem,3.6vw,1rem);line-height:1.65}.hero-cta{justify-content:center;gap:.65rem;margin:0}.hero-btn{padding:.65rem 1.3rem;font-size:.88rem}.hero-stats{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;width:100%;margin:0}.hero-stat{gap:.9rem}.hero-stat-divider{height:26px}.hero-stat-num{font-size:clamp(1.2rem,5.8vw,1.6rem)}.hero-stat-label{font-size:.62rem}.hero-visual{display:none}.hero:before{background-size:30px 30px}}@media (width<=480px){.hero{padding:clamp(80px,20vw,96px) 20px clamp(24px,7vw,36px)}.hero-title{width:100%;font-size:clamp(2.4rem,13vw,3.1rem);line-height:1.1}.hero-sub{width:100%;max-width:100%;font-size:.86rem;line-height:1.58}.hero-cta{align-items:center;width:100%}.hero-btn{justify-content:center;width:100%;max-width:300px}.hero-stats{width:100%}.hero-stat{gap:.6rem}}@media (prefers-reduced-motion:reduce){.hero:before,.hero-orb,.hero-tag-dot:after,.accent,.hero-card-bar-fill,.hero-stat-num span,.float-card{animation:none!important}}.ticker{z-index:1;border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);background:0 0;padding:1rem 0;position:relative;overflow:hidden}.ticker-track{white-space:nowrap;animation:30s linear infinite tickerRun;display:inline-flex}.ticker-item{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);align-items:center;gap:1.2rem;padding:0 2.5rem;font-size:.8rem;font-weight:600;display:flex}.ticker-item:after{content:"";background:var(--cyan);opacity:.6;border-radius:50%;width:4px;height:4px}@keyframes tickerRun{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:4.5rem;display:grid}.text-cyan{color:var(--cyan)}.about-visual{position:relative}.about-img-box{aspect-ratio:1;border-radius:var(--r2);background:var(--glass-bg-soft);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);color:var(--cyan);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.about-img{object-fit:cover;width:100%;height:100%;display:block}.about-badge-box{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--r);box-shadow:var(--glass-shadow);border:1px solid #063d36;padding:1.1rem 1.4rem;transition:transform .35s,box-shadow .35s;animation:4.5s ease-in-out infinite floatAnim;position:absolute;bottom:-46px;right:-10px}.about-badge-box:hover{transform:translateY(-6px);box-shadow:0 28px 70px #00000073}.about-badge-num{font-family:var(--font-display);color:var(--cyan);font-size:1.7rem;font-weight:800;line-height:1}.about-badge-label{color:var(--text3);margin-top:.3rem;font-size:.72rem}.about-points{flex-direction:column;gap:1.3rem;margin:2rem 0;display:flex}.about-point{align-items:flex-start;gap:1rem;display:flex}.about-point-icon{background:var(--cyan-dim);border:1px solid var(--border);width:36px;height:36px;color:var(--cyan);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.about-point h4{font-family:var(--font-display);margin-bottom:.35rem;font-size:.95rem;font-weight:700}.about-point p{color:var(--text2);font-size:.85rem;line-height:1.65}.about-nums{border-top:1px solid var(--border2);flex-wrap:wrap;gap:2.2rem;padding-top:1.5rem;display:flex}.about-num-n{font-family:var(--font-display);font-size:1.6rem;font-weight:800}.about-num-n span{color:var(--cyan)}.about-num-l{color:var(--text3);margin-top:.2rem;font-size:.75rem}@media (width<=768px){.about-grid{grid-template-columns:1fr;gap:3rem}.about-img-box{max-width:490px;margin:0 auto}}.features-section{background:0 0}.features-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem;display:grid}.feat-card{background:var (var(--glass-blur));border:.7px solid var(--glass-border);border-radius:var(--r2);padding:2rem;transition:border-color .4s,transform .4s,box-shadow .4s}.feat-card:hover{border-color:var(--border);transform:translateY(-4px);box-shadow:0 24px 60px #00000059}.feat-icon{border:.7px solid;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:1.3rem;display:flex}.feat-card h3{font-family:var(--font-display);margin-bottom:.6rem;font-size:1.05rem;font-weight:700}.feat-card p{color:var(--text2);font-size:.88rem;line-height:1.7}@media (width<=1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.features-grid{grid-template-columns:1fr}}.filter-row{flex-wrap:wrap;justify-content:center;gap:.6rem;margin:2.5rem 0 3rem;display:flex}.filter-btn{background:var(--glass-bg);border:1px solid var(--border2);color:var(--text2);border-radius:var(--r-pill);cursor:pointer;padding:.55rem 1.3rem;font-size:.82rem;font-weight:600;transition:all .25s}.filter-btn:hover{border-color:var(--border);color:var(--text)}.filter-btn.active{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.project-card{border:1px solid var(--border2);border-radius:var(--r2);color:inherit;background:0 0;text-decoration:none;transition:all .4s;display:block;overflow:hidden}.project-card:hover{border-color:var(--border);transform:translateY(-6px);box-shadow:0 24px 60px #0006}.project-thumb{aspect-ratio:16/10;border-radius:var(--r2) var(--r2) 0 0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.project-thumb-img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.project-badge{letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:16px;padding:.25rem .7rem;font-size:.7rem;font-weight:700;position:absolute;top:12px;left:12px}.project-link-icon{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;opacity:0;pointer-events:none;background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s;display:flex;position:absolute;top:12px;right:12px;transform:translateY(-6px)scale(.85)rotate(-45deg)}.project-card:hover .project-link-icon{opacity:1;background:var(--cyan);color:#06131a;transform:translateY(0)scale(1)rotate(0);box-shadow:0 4px 16px #00000059,0 0 0 4px #00d0ff1f}.project-body{padding:1.4rem}.project-meta{color:var(--text2);align-items:center;gap:.35rem;margin-bottom:.6rem;font-size:.78rem;display:flex}.project-meta-muted{color:var(--text3)}.project-title{font-family:var(--font-display);margin-bottom:.6rem;font-size:1rem;font-weight:700;line-height:1.35}.project-stack{color:var(--text2);align-items:center;gap:.5rem;margin-bottom:1.1rem;font-size:.8rem;display:flex}.project-stack-icon{color:var(--cyan);display:flex}.project-footer{border-top:1px solid var(--border2);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.project-users{color:var(--text3);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.project-status{color:var(--cyan);font-size:.78rem;font-weight:700}@media (width<=1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.projects-grid{grid-template-columns:1fr}}.approach-grid{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.approach-steps-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:2.2rem;display:grid}.approach-step-card{border:1px solid var(--border2);border-radius:var(--r2);background:0 0;padding:1.4rem;transition:border-color .3s,transform .3s,box-shadow .3s}.approach-step-card:hover{border-color:var(--border);transform:translateY(-3px);box-shadow:0 12px 28px #0000002e}.approach-step-num{font-family:var(--font-display);color:var(--cyan);margin-bottom:.7rem;font-size:1.3rem;font-weight:800}.approach-step-card h4{font-family:var(--font-display);margin-bottom:.45rem;font-size:.92rem;font-weight:700;line-height:1.35}.approach-step-card p{color:var(--text2);font-size:.82rem;line-height:1.6}.approach-visual{align-items:stretch;gap:1.2rem;display:flex}.approach-photo-card{flex:62%;padding-top:3.5rem;padding-bottom:1.2rem;position:relative}.approach-photo-frame{aspect-ratio:5/4;border-radius:var(--r2);border:1px solid var(--border2);background:0 0;width:100%;transition:transform .4s,border-color .4s;position:relative;overflow:hidden}.approach-photo-frame:hover{border-color:var(--border);transform:translateY(-4px)}.approach-photo-img{object-fit:cover;object-position:center 50%;width:100%;height:100%;transition:transform .6s;display:block}.approach-photo-frame:hover .approach-photo-img{transform:scale(1.02)}.approach-photo-badge{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--r);box-shadow:var(--glass-shadow);align-items:center;gap:.6rem;padding:.5rem .8rem;animation:3.5s ease-in-out infinite badgeFloat;display:flex;position:absolute}.approach-badge-right{border:.4px solid #074e46;animation-delay:0s;top:90px;right:14px}.approach-badge-left{border:.4px solid #074e46;flex-direction:column;align-items:stretch;gap:.5rem;max-width:40%;animation-delay:.9s;top:20px;left:-25px}.approach-badge-left-head{align-items:center;gap:.6rem;display:flex}.approach-photo-badge-icon{background:var(--cyan);border:1px solid var(--border);width:30px;height:30px;color:var(--surface);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;animation:2.4s ease-in-out infinite iconPulse;display:flex}.approach-badge-icon-alt{animation-delay:.5s}.approach-photo-badge-value{font-family:var(--font-display);color:var(--text);font-size:1rem;font-weight:800;line-height:1.1}.approach-photo-badge-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text3);font-size:.62rem;font-weight:600}.approach-rating-card{background:var(--glass-bg);border-radius:var(--r);border:1px solid #063d36;padding:.75rem 1rem;animation:4.5s ease-in-out 1.6s infinite badgeFloat;position:absolute;bottom:-20px;left:14px;right:14px;box-shadow:0 14px 36px #06271fa4}.approach-rating-top{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.approach-avatar-stack{display:flex}.approach-avatar-dot{background:var(--bg);border:2px solid var(--cyan);border-radius:50%;width:20px;height:20px;margin-left:-8px;transition:transform .25s}.approach-avatar-dot:first-child{margin-left:0}.approach-avatar-stack:hover .approach-avatar-dot{transform:translateY(-2px)}.approach-avatar-more{color:var(--cyan);justify-content:center;align-items:center;font-size:.6rem;font-weight:800;display:flex}.approach-rating-value{letter-spacing:.05em;color:#d6771e;font-size:1rem;animation:3s ease-in-out infinite starGlow}.approach-rating-label{color:var(--text3);align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;display:flex}.approach-stat-card{border:1px solid var(--border);border-radius:var(--r2);background:0 0;flex-direction:column;flex:38%;align-self:stretch;padding:1.3rem;transition:border-color .3s,transform .3s,box-shadow .3s;display:flex}.approach-stat-card:hover{border-color:var(--cyan-dim);transform:translateY(-3px);box-shadow:0 12px 28px #0000002e}.approach-stat-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.approach-stat-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text3);font-size:.72rem;font-weight:700}.approach-stat-icon{background:var(--cyan-dim);border:1px solid var(--border);width:26px;height:26px;color:var(--cyan);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;animation:2.4s ease-in-out infinite iconPulse;display:flex}.approach-stat-value{font-family:var(--font-display);color:var(--text);margin-bottom:1rem;font-size:1.9rem;font-weight:800}.approach-mini-chart{align-items:flex-end;gap:.4rem;height:60px;margin-bottom:1.1rem;display:flex}.approach-mini-bar{background:var(--border);border-radius:4px 4px 0 0;flex:1;min-height:6px;transition:height .6s,background .3s,box-shadow .3s}.approach-mini-bar.is-active{background:var(--cyan);animation:2.2s ease-in-out infinite barGlow}.approach-stat-footer{border-top:1px solid var(--border2);grid-template-columns:1fr 1fr;gap:.9rem;margin-top:auto;padding-top:1rem;display:grid}.approach-stat-footer-n{font-family:var(--font-display);color:var(--cyan);font-size:1rem;font-weight:800}.approach-stat-footer-l{color:var(--text3);margin-top:.15rem;font-size:.66rem}@keyframes badgeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes iconPulse{0%,to{box-shadow:0 0 #06b6d459}50%{box-shadow:0 0 0 5px #06b6d400}}@keyframes starGlow{0%,to{text-shadow:0 0 #d6771e00}50%{text-shadow:0 0 8px #d6771e8c}}@keyframes barGlow{0%,to{box-shadow:0 0 #06b6d400}50%{box-shadow:0 -4px 10px #06b6d459}}@media (prefers-reduced-motion:reduce){.approach-photo-badge,.approach-rating-card,.approach-photo-badge-icon,.approach-stat-icon,.approach-rating-value,.approach-mini-bar.is-active,.approach-photo-frame,.approach-photo-img,.approach-step-card,.approach-stat-card{transition:none!important;animation:none!important}}@media (width<=900px){.approach-grid{grid-template-columns:1fr;gap:3rem}.approach-visual{order:-1}}@media (width<=640px){.approach-steps-grid{grid-template-columns:1fr}.approach-visual{flex-direction:column;align-items:stretch}.approach-photo-card,.approach-stat-card{flex:none}}.skills-section{background:0 0}.skills-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem;display:grid}.skill-card{border:1px solid var(--border2);border-radius:var(--r2);text-align:center;background:0 0;padding:1.8rem;transition:all .3s}.skill-card:hover{border-color:var(--border);transform:translateY(-4px)}.skill-icon{background:linear-gradient(135deg, var(--bg3), var(--surface2));border:1px solid var(--border);width:56px;height:56px;color:var(--cyan);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 1.1rem;display:flex}.skill-name{font-family:var(--font-display);margin-bottom:.3rem;font-size:.92rem;font-weight:700}.skill-role{color:var(--text3);margin-bottom:.8rem;font-size:.78rem}.skill-rating{color:var(--amber);justify-content:center;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}@media (width<=1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.skills-grid{grid-template-columns:1fr}}.testimonials-section{background:0 0}.testimonials-marquee-wrap{-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);margin-top:3.2rem;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#202e2c 8%,#173633 92%,#0000)}.testimonials-fade{z-index:2;pointer-events:none;width:90px;position:absolute;top:0;bottom:0}.testimonials-fade-left{background:linear-gradient(to right, var(--bg), transparent);left:0}.testimonials-fade-right{background:linear-gradient(to left, var(--bg), transparent);right:0}.testimonials-rows{flex-direction:column;gap:1.5rem;display:flex}.testimonial-row{will-change:transform;gap:1rem;width:max-content;display:flex}.testimonial-row-left{animation-name:marquee-left;animation-timing-function:linear;animation-iteration-count:infinite}.testimonial-row-right{animation-name:marquee-right;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.testimonial-card{border:1px solid var(--border2);border-radius:var(--r2);background:0 0;flex:0 0 290px;padding:1.1rem;transition:border-color .2s}.testimonial-card:hover{border-color:var(--border)}.testimonial-author{align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.testimonial-avatar{background:var(--bg3);border:2px solid var(--border);width:34px;height:34px;color:var(--cyan);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.testimonial-name{font-family:var(--font-display);align-items:center;gap:.25rem;font-size:.8rem;font-weight:700;display:flex}.testimonial-verified{color:var(--cyan);width:13px;height:13px}.testimonial-role{color:var(--text3);font-size:.7rem}.testimonial-text{color:var(--text2);margin-bottom:.75rem;font-size:.8rem;line-height:1.55}.testimonial-stars{color:var(--amber);gap:.1rem;display:flex}.testimonial-stars svg{width:12px;height:12px}@media (width<=768px){.testimonial-card{flex-basis:290px;margin-bottom:-.5rem;padding:.5rem}}.blog-grid{grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3.5rem;display:grid}.blog-card{border:1px solid var(--border2);border-radius:var(--r2);background:0 0;transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden}.blog-card:hover{border-color:var(--border);transform:translateY(-5px);box-shadow:0 20px 50px #00000059}.blog-thumb{background:linear-gradient(135deg, var(--bg3), var(--surface2));height:160px;color:var(--cyan);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.blog-thumb-img{object-fit:cover;object-position:top;width:100%;height:100%;display:block;position:absolute;inset:0}.blog-tag{background:var(--cyan-dim);border:1px solid var(--border);color:var(--cyan);letter-spacing:.05em;text-transform:uppercase;border-radius:16px;padding:.25rem .7rem;font-size:.7rem;font-weight:700;position:absolute;top:12px;left:12px}.blog-body{padding:1.4rem}.blog-title{font-family:var(--font-display);margin-bottom:1.1rem;font-size:1rem;font-weight:700;line-height:1.4}.blog-meta{border-top:1px solid var(--border2);color:var(--text3);align-items:center;gap:1.1rem;padding-top:1rem;font-size:.76rem;display:flex}.blog-meta span{align-items:center;gap:.35rem;display:flex}@media (width<=1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.blog-grid{grid-template-columns:1fr}}.contact-section{padding:60px 0 100px}.contact-box{text-align:center;border:1px solid var(--border);border-radius:var(--r2);background:0 0;max-width:640px;margin:0 auto;padding:3.5rem 3rem}.contact-title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;line-height:1.2}.contact-sub{color:var(--text2);margin-bottom:2.2rem;font-size:.95rem;line-height:1.7}.contact-form{text-align:left;flex-direction:column;gap:1.1rem;margin-bottom:2rem;display:flex}.contact-form-row{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.contact-field{flex-direction:column;gap:.45rem;display:flex}.contact-field label{color:var(--text2);font-size:.78rem;font-weight:600}.contact-field input,.contact-field textarea{border:1px solid var(--border2);border-radius:var(--r);color:var(--text);font-family:var(--font-body);resize:vertical;background:0 0;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text3)}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--cyan);outline:none}.contact-submit{padding:.85rem 2rem;font-size:.95rem}.contact-status{color:var(--cyan);text-align:center;margin-top:.9rem;font-size:.82rem}.contact-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}@media (width<=640px){.contact-box{padding:2.2rem 1.5rem}.contact-form-row{grid-template-columns:1fr}}.tools-section{z-index:1;background:0 0;padding:30px 0;position:relative}.tools-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:2rem;font-size:.75rem;font-weight:700}.tools-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;display:flex}.tool{font-family:var(--font-display);color:var(--text3);letter-spacing:-.02em;font-size:1.15rem;font-weight:800;transition:color .3s}.tool:hover{color:var(--cyan)}footer{border-top:1px solid var(--border2);z-index:1;background:0 0;padding:70px 0 30px;position:relative}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}.footer-logo{font-family:var(--font-display);color:var(--text);align-items:center;gap:.4rem;margin-bottom:1rem;font-size:1.6rem;font-weight:800;text-decoration:none;display:flex}.footer-brand p{color:var(--text3);max-width:340px;margin-bottom:1.5rem;font-size:.85rem;line-height:1.7}.social-row{gap:.7rem;display:flex}.social-icon{border:1px solid var(--border2);width:36px;height:36px;color:var(--text2);background:0 0;border-radius:16px;justify-content:center;align-items:center;text-decoration:none;transition:all .25s;display:flex}.social-icon:hover{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.footer-col h4{font-family:var(--font-display);color:var(--text);letter-spacing:.02em;margin-bottom:1.2rem;font-size:.88rem;font-weight:700}.footer-col ul{flex-direction:column;gap:.65rem;list-style:none;display:flex}.footer-col ul a,.footer-link-btn{color:var(--text3);cursor:pointer;font-size:.84rem;font-family:var(--font-body);text-align:left;background:0 0;border:none;padding:0;text-decoration:none;transition:color .2s}.footer-col ul a:hover,.footer-link-btn:hover{color:var(--cyan)}.footer-newsletter-copy{color:var(--text3);margin-bottom:.4rem;font-size:.82rem}.newsletter-form{gap:.5rem;margin-top:1rem;display:flex}.newsletter-input{border:.6px solid var(--border2);border-radius:var(--r2);min-width:0;color:var(--text);font-size:.82rem;font-family:var(--font-body);background:0 0;outline:none;flex:1;padding:.6rem 1rem;transition:border-color .2s}.newsletter-input::placeholder{color:var(--text3)}.newsletter-submit{border-radius:12px;padding:.6rem 1rem}.newsletter-status{color:var(--cyan);margin-top:.6rem;font-size:.78rem}.footer-bottom{border-top:1px solid var(--border2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.footer-bottom p{color:var(--text3);font-size:.8rem}.footer-legal-links{gap:.3rem;display:flex}@media (width<=1024px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.footer-grid{grid-template-columns:1fr 1fr;gap:2.2rem 1.2rem}.footer-brand,.footer-col1:last-child{grid-column:1/-1}}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:0 0;justify-content:center;align-items:center;padding:2rem;transition:opacity .35s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-box{border:1px solid var(--border);border-radius:var(--r2);opacity:0;background:0 0;width:100%;max-width:560px;max-height:80vh;padding:2.4rem;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s;position:relative;overflow-y:auto;transform:translateY(24px)scale(.97);box-shadow:0 30px 90px #0009}.modal-overlay.open .modal-box{opacity:1;transform:translateY(0)scale(1)}.modal-box h3{font-family:var(--font-display);margin-bottom:1rem;font-size:1.4rem;font-weight:700}.modal-box p{color:var(--text2);margin-bottom:.9rem;font-size:.9rem;line-height:1.75}.modal-close{border:1px solid var(--border2);width:34px;height:34px;color:var(--text2);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .25s;display:flex;position:absolute;top:1.2rem;right:1.2rem}.modal-close:hover{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan);transform:rotate(90deg)}.project-card{all:unset;cursor:pointer;box-sizing:border-box;width:100%;display:block}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.project-modal{background:var(--bg2,#111);border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:560px;max-height:90vh;position:relative;overflow-y:auto}.modal-close{z-index:2;color:#fff;cursor:pointer;background:#0006;border:none;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:1rem;right:1rem}.project-modal-hero{aspect-ratio:16/10;border-radius:20px 20px 0 0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.project-modal-hero-img{object-fit:cover;object-position:top;border-radius:20px 20px 0 0;width:100%;height:100%;display:block}.project-modal-body{padding:1.75rem}.project-modal-title{margin:.5rem 0;font-size:1.4rem}.project-modal-features h4{text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:.75rem;font-size:.9rem}.project-modal-features ul{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.project-modal-features li{align-items:flex-start;gap:.6rem;font-size:.92rem;line-height:1.4;display:flex}@media (width<=480px){.modal-overlay{padding:.75rem}.project-modal{border-radius:14px;max-height:95vh}.project-modal-body{padding:1.25rem}.project-modal-title{font-size:1.2rem}}@media (width<=640px){.projects-grid{grid-template-columns:1fr}}
