img{content-visibility:auto}.graphic-slide img,.project-thumb img,.sp-profile-image,.contact-aside-image img{will-change:transform}@property --angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes spin-glow{0%{--angle: 0deg}to{--angle: 360deg}}@keyframes shine-sweep{0%{transform:translate(-160%)}45%{transform:translate(160%)}to{transform:translate(160%)}}@keyframes toolsCarouselMove{0%{transform:translate(0)}to{transform:translate(calc(-50% - 9px))}}.text-accent,.text-accent-tr{color:#56eaa1}html,body,#root{margin:0;width:100%;min-height:100%;background:#000}body{min-height:100%;min-height:100dvh;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#fff;background:#000}#root{min-height:100dvh}#main-content{position:relative;isolation:isolate;min-height:100dvh}.scene-canvas-shell{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;z-index:1;pointer-events:none;overflow:hidden}.scene-canvas-shell>*{pointer-events:auto;width:100vw!important;height:100dvh!important;display:block}#main-content[data-scene-section=cta] .scene-canvas-shell{z-index:6}#main-content[data-scene-section=cta] .scene-canvas-shell>*{pointer-events:none}.scene-section,.section,.hero{position:relative;z-index:1}.scene-section>.container,.section>.container,.hero>.container{position:relative;z-index:2}.hero .container,.section .container{padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(2rem,4vw,3.5rem)}.container{position:relative;z-index:2}h1,h2,h3,h4,h5,.section-heading{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:-.01em}h1{font-size:clamp(2.8rem,6.5vw,5rem);line-height:1.02}h2{font-size:clamp(1.75rem,3.8vw,3rem);line-height:1.1}h3{font-size:clamp(1.2rem,2.4vw,1.75rem);line-height:1.2}h4{font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.3}h5{font-size:clamp(.875rem,1.4vw,1.1rem);line-height:1.4}.hero-copy h1{font-size:clamp(3rem,5.8vw,4.2rem)}@media (max-width: 768px){h1{font-size:clamp(1.9rem,7vw,2.8rem)}h2{font-size:clamp(1.5rem,5.5vw,2.2rem)}h3{font-size:clamp(1.1rem,3.8vw,1.5rem)}h4{font-size:clamp(.95rem,3vw,1.2rem)}h5{font-size:clamp(.82rem,2.4vw,1rem)}}@media (max-width: 480px){h1{font-size:clamp(1.7rem,9vw,2.4rem)}h2{font-size:clamp(1.35rem,7vw,1.9rem)}h3{font-size:clamp(1rem,5vw,1.35rem)}h4{font-size:clamp(.9rem,4vw,1.1rem)}h5{font-size:clamp(.8rem,3.5vw,.95rem)}}*{box-sizing:border-box}.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}.skip-link{position:absolute;top:-100%;left:1rem;z-index:2000;padding:.75rem 1rem;border-radius:999px;background:#fff;color:#111;font-weight:700;text-decoration:none}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(86,234,161,.85);outline-offset:2px}.container{width:min(100% - 3rem,1180px);margin:0 auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000}.nav-glass{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;border-bottom:1px solid rgba(255,255,255,.05);background:#0808081f;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);transition:opacity .85s cubic-bezier(.16,1,.3,1),background .85s cubic-bezier(.16,1,.3,1),backdrop-filter .85s cubic-bezier(.16,1,.3,1)}.nav-glass.visible{opacity:1}.nav-bar{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:58px;gap:1.5rem}.nav-logo{justify-self:start;background:transparent;border:0;padding:10px;box-shadow:none}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0a;cursor:pointer}.nav-toggle-bar{display:block;width:18px;height:2px;margin:0 auto;border-radius:999px;background:#fff;transition:transform .2s ease,opacity .2s ease}.nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2.5vw,2rem);justify-self:center}.nav-links a:not(.btn){color:#b7becd;font-weight:600;text-decoration:none;transition:color .2s ease;white-space:nowrap}.nav-links a:not(.btn):hover{color:#fff}.nav-cta{justify-self:end;text-decoration:none}.nav-logo img{height:50px;width:auto}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.2rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;font-weight:700;transition:background .2s ease,color .2s ease,box-shadow .2s ease;text-decoration:none}.btn:hover{transform:none}.btn.btn-primary{background:#101010;color:#fff;border-color:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0f}.btn.btn-primary:hover{background:#fff;color:#111;border-color:#00000014;box-shadow:none}.btn.btn-secondary{background:#ffffff0f;color:#fff;border-color:#ffffff2e}.btn.btn-secondary:hover{background:#ffffff1f}.section-badge,.rotating-glow-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;overflow:hidden;isolation:isolate}.section-badge-text,.rotating-glow-badge-inner{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.1rem;border-radius:997px;background:#0b0b0b;color:#56eaa1;text-shadow:0 0 4px rgba(255,255,255,.85),0 0 14px rgba(86,234,161,.65),0 0 24px rgba(86,234,161,.35);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:pre;overflow:hidden}.section-badge-text:before,.rotating-glow-badge-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.02) 42%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.02) 58%,transparent 100%);transform:translate(-160%);animation:shine-sweep 6s ease-in-out infinite;opacity:0;transition:opacity .35s ease}.rotating-glow-badge:hover .section-badge-text:before,.rotating-glow-badge:hover .rotating-glow-badge-inner:before{opacity:.5}.rotating-glow-badge:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:conic-gradient(from var(--angle),transparent 0deg,transparent 315deg,#56eaa1 328deg,#56eaa1 338deg,#56eaa1 348deg,transparent 360deg);animation:spin-glow 4s linear infinite;filter:blur(10px);opacity:0;transition:opacity .35s ease,filter .35s ease;z-index:0}.rotating-glow-badge:hover:before{opacity:.55;filter:blur(10px) brightness(1.15)}.rotating-glow-badge:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:#090909;border-radius:997px;z-index:1}.rotating-glow-badge.centered{align-self:center}#about .profile-panel .section-badge.centered{align-self:center;text-align:center}.btn-glow-hover{position:relative;overflow:hidden;isolation:isolate;background:#101010!important;border-color:#ffffff14!important;box-shadow:inset 0 0 0 1px #ffffff0f!important;transition:color .2s ease,background .2s ease!important}.btn-glow-hover:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:conic-gradient(from var(--angle),transparent 0deg,transparent 315deg,#56eaa1 328deg,#56eaa1 338deg,#56eaa1 348deg,transparent 360deg);animation:spin-glow 4s linear infinite;filter:blur(10px);opacity:0;transition:opacity .35s ease,filter .35s ease;z-index:0}.btn-glow-hover:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:inherit;background:#101010;z-index:1;transition:background .2s ease}.btn-glow-hover:hover:before{opacity:.55;filter:blur(10px) brightness(1.15)}.btn-glow-hover:hover{background:#101010!important;color:#fff!important;border-color:#ffffff14!important;box-shadow:inset 0 0 0 1px #ffffff0f!important;transform:none}.btn-glow-hover>span,.btn-glow-hover{position:relative;z-index:2}.btn-glow-secondary{position:relative;overflow:hidden;isolation:isolate;background:#ffffff0f!important;color:#fff!important}.btn-glow-secondary:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:conic-gradient(from var(--angle),transparent 0deg,transparent 315deg,#ffffff 328deg,rgba(255,255,255,.75) 338deg,#ffffff 348deg,transparent 360deg);animation:spin-glow 4s linear infinite;filter:blur(10px);opacity:0;transition:opacity .35s ease,filter .35s ease;z-index:0}.btn-glow-secondary:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:inherit;background:#ffffff0f;z-index:1}.btn-glow-secondary:hover:before{opacity:.55;filter:blur(10px) brightness(1.05)}.btn-glow-secondary:hover{background:#ffffff0f!important;color:#fff!important;transform:none}.scene-section{min-height:100dvh;display:flex;align-items:center}.hero{position:relative;isolation:isolate;min-height:100dvh;padding:5rem 0;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 28% 18%,rgba(86,234,161,.15),transparent 28%),radial-gradient(circle at 26% 16%,rgba(86,234,161,.08),transparent 40%),radial-gradient(circle at 78% 34%,rgba(44,189,111,.1),transparent 24%),radial-gradient(circle at center,rgba(0,0,0,.08),transparent 50%);pointer-events:none;opacity:.85;transform:scale(1.08)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:3rem;align-items:center;min-height:calc(100dvh - 8rem)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.16) 100%);z-index:0}.hero-copy{max-width:42rem}.hero-copy .eyebrow{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:999px;background:#ffffff14;color:#f5f7fa;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.75rem}.hero-copy h1{font-family:Oswald,sans-serif;font-size:clamp(3rem,5.8vw,4.2rem);line-height:1.02;letter-spacing:-.01em;margin:0 0 1.75rem}.hero-copy p{max-width:60ch;margin:0 0 2rem;color:#b7becd;font-size:1rem;line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem}.cube-canvas{width:100%;min-height:520px;display:block;background:none;border-radius:0;overflow:hidden}#main-content[data-scene-section=hero] .cube-canvas{filter:contrast(1.08) saturate(1.15) brightness(1.02)}.cube-loading,.cube-fallback{background:radial-gradient(circle at 30% 30%,rgba(86,234,161,.12),transparent 40%),radial-gradient(circle at 70% 60%,rgba(44,189,111,.08),transparent 35%)}.cube-fallback{display:grid;place-items:center}.cube-fallback-inner{width:min(280px,70%);aspect-ratio:1;border-radius:24px;background:linear-gradient(135deg,#ffffff14,#ffffff05),radial-gradient(circle at 30% 25%,rgba(86,234,161,.18),transparent 45%);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 80px #00000073}@media (max-width: 1000px){.hero-grid{grid-template-columns:1fr}.hero-panel{order:-1}}@media (max-width: 640px){.container{width:min(100% - 2rem,100%)}.hero{padding:4rem 0 3rem}.hero-grid{gap:1.5rem}}.section{padding:7rem 0}.section.alt-bg{background:linear-gradient(180deg,#ffffff05,#ffffff03);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}.center .section-badge{margin-bottom:.25rem}.center{display:grid;place-items:center;gap:1rem;text-align:center;margin:0 auto;max-width:760px}.section-heading{margin:0 0 1rem;font-family:Oswald,sans-serif;font-size:clamp(2rem,3.4vw,2.85rem);line-height:1.1;color:#f2f2f0}.section-sub{max-width:700px;margin:0 auto;color:#b7becd;line-height:1.6}.profile-panel{display:flex;flex-direction:column;justify-content:space-between;gap:1.75rem;min-height:100%;padding:2.5rem;border-radius:20px;background:transparent;box-shadow:none;border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.03)}.profile-content{display:flex;flex-direction:column;gap:1.25rem}.profile-content .section-heading{margin-bottom:0}.profile-badge{align-self:center;text-align:center}.profile-badge .section-badge-text{background:#0b0b0b}.profile-content p{color:#b7becd;line-height:1.6}.chip-list{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto}.chip{display:inline-flex;padding:.55rem .8rem;border-radius:999px;background:#ffffff0f;color:#fff;font-size:.88rem;font-weight:700}.card-grid,.result-grid,.skill-grid,.project-grid{display:grid;gap:2rem;margin-top:2.5rem}.card-grid,.result-grid,.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.result-card,.skill-card,.project-card,.contact-panel{position:relative;padding:2rem;border-radius:20px;background:linear-gradient(180deg,#ffffff05,#ffffff03);box-shadow:0 14px 36px #00000073;border:1px solid rgba(255,255,255,.04);overflow:visible}.card:before,.result-card:before,.skill-card:before,.project-card:before,.contact-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;pointer-events:none;background:radial-gradient(circle at 8% 8%,rgba(63,208,143,.16),rgba(63,208,143,.03) 20%,transparent 36%),radial-gradient(circle at 92% 8%,rgba(63,208,143,.14),rgba(63,208,143,.03) 20%,transparent 36%),radial-gradient(circle at 8% 92%,rgba(63,208,143,.08),rgba(63,208,143,.02) 16%,transparent 32%),radial-gradient(circle at 92% 92%,rgba(63,208,143,.09),rgba(63,208,143,.02) 16%,transparent 32%),linear-gradient(180deg,#3fd08f08,#3fd08f05 12%,#3fd08f03 28%,#3fd08f00 52%,#3fd08f00);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.card:after,.result-card:after,.skill-card:after,.project-card:after,.contact-panel:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:20px;pointer-events:none;z-index:-1;background:radial-gradient(circle at 12% 12%,rgba(63,208,143,.07),transparent 16%),radial-gradient(circle at 88% 12%,rgba(24,160,110,.05),transparent 16%),radial-gradient(circle at 50% 70%,rgba(0,0,0,.12),transparent 35%);filter:blur(12px);opacity:.5}.card-number{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;margin-bottom:.9rem;border-radius:14px;background:#ffffff0a;color:#fff;font-weight:800;transition:color .25s ease,text-shadow .25s ease,box-shadow .25s ease}.card:hover .card-number{color:#56eaa1;text-shadow:0 0 8px rgba(86,234,161,.4);box-shadow:0 0 10px #56eaa133,0 0 20px #56eaa114}.card h3,.skill-card h3,.project-body h3{margin:0 0 .8rem}.nav-cta-mobile{display:none}.card p,.result-card p,.project-body p{color:#b7becd;line-height:1.6}.card-link{display:inline-flex;margin-top:1rem;color:#56eaa1;font-weight:700;text-decoration:none;transition:color .2s ease}.card-link:hover{color:#fff}#results{position:relative;overflow:hidden}#results .result-grid{position:relative;z-index:1}.results-fade{position:absolute;left:0;right:0;bottom:0;height:18%;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.11) 40%,rgba(0,0,0,.22) 70%,rgba(0,0,0,.45) 100%);z-index:2}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-card{display:flex;flex-direction:column;text-align:left}.result-card p{flex:1}.result-card .result-link{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:1rem}.result-card strong{display:block;font-size:clamp(1.8rem,4vw,2.3rem);color:#fff;font-family:Oswald,sans-serif;font-weight:500}.result-card .result-link{color:#ffffffd1;font-weight:700;text-decoration:none;transition:color .2s ease}.result-card .result-link:hover{color:#fff}.project-card .card-link,.project-card .project-btn{text-decoration:none}.project-badge-glow{margin-bottom:.75rem}.project-badge-glow .section-badge-text{padding:.45rem .75rem;font-size:.72rem;letter-spacing:.14em;background:#101010}.project-btn{--btn-color: #56eaa1;--btn-hover: rgba(86, 234, 161, .2);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;min-height:46px;padding:.875rem 1.5rem;border-radius:10px;border:1px solid rgba(var(--project-color-rgb),.3);background:linear-gradient(135deg,rgba(var(--project-color-rgb),.15),rgba(var(--project-color-rgb),.05));color:#fff;font-weight:600;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease}.project-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(var(--project-color-rgb),.1),rgba(var(--project-color-rgb),.2));opacity:0;transition:opacity .3s ease}.project-btn:hover{transform:translateY(-2px);border-color:rgba(var(--project-color-rgb),.5);box-shadow:0 6px 20px rgba(var(--project-color-rgb),.25)}.project-btn:hover:before{opacity:1}.btn-arrow{font-size:1.1em;transition:transform .3s ease}.project-btn:hover .btn-arrow{transform:translate(2px)}.project-card{--project-color: #56eaa1;--project-color-rgb: 86, 234, 161;position:relative;padding:0;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 36px 100px #00000052}.project-thumb{position:relative;padding:0;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.04);min-height:220px;display:grid;place-items:center;overflow:hidden;border-radius:12px;aspect-ratio:16 / 10}.project-thumb img,.project-thumb .project-image-placeholder{width:100%;height:220px;object-fit:cover}.project-thumb img{height:100%;transition:transform .3s ease}.project-card:hover .project-thumb img{transform:scale(1.05)}.project-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;place-items:center;height:200px;background:linear-gradient(135deg,rgba(var(--project-color-rgb),.08),rgba(var(--project-color-rgb),.15));border:1px dashed rgba(var(--project-color-rgb),.3);border-radius:12px;color:rgba(var(--project-color-rgb),.8);font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:all .3s ease}.project-image-placeholder:hover{background:linear-gradient(135deg,rgba(var(--project-color-rgb),.12),rgba(var(--project-color-rgb),.2));border-color:rgba(var(--project-color-rgb),.5)}.project-icon{font-size:3rem;margin-bottom:1rem;filter:drop-shadow(0 0 8px rgba(var(--project-color-rgb),.5))}.project-placeholder-text{font-size:.9rem;opacity:.8}.project-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3;opacity:0;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-card:hover .project-thumb-overlay{opacity:1}.project-title{margin:0 0 .8rem;font-weight:700;background:linear-gradient(135deg,#fff,rgba(var(--project-color-rgb),.8));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.project-description{color:#b7becd;line-height:1.6;margin-bottom:1.5rem}.project-badge-glow{background:var(--badge-bg, linear-gradient(135deg, rgba(86, 234, 161, .15), rgba(86, 234, 161, .25)))!important;border-color:var(--badge-border, rgba(86, 234, 161, .4))!important;color:var(--badge-text, #56eaa1)!important;font-weight:600;text-shadow:0 0 8px rgba(var(--project-color-rgb),.3)}.gallery-icon{font-size:1.1em}.project-view-gallery{display:flex;align-items:center;gap:.5rem;min-height:42px;padding:.75rem 1.25rem;border-radius:8px;border:1px solid rgba(var(--project-color-rgb),.3);background:rgba(var(--project-color-rgb),.15);color:rgba(var(--project-color-rgb),.9);font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.project-view-gallery:hover{background:rgba(var(--project-color-rgb),.25);border-color:rgba(var(--project-color-rgb),.5);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--project-color-rgb),.2)}.project-body{padding:2rem}#skills{background:#0b0b0b}#skills #skills .section-heading{color:#fff;text-align:center;max-width:900px;margin-left:auto;margin-right:auto}#skills .skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem}#skills .skill-card{display:flex;flex-direction:column;height:100%;padding:clamp(2rem,3vw,2.5rem);border-radius:var(--radius-lg);background:#111;border:1px solid rgba(255,255,255,.12);box-shadow:none}#skills .skill-card:before,#skills .skill-card:after{display:none}#skills .skill-card h3{font-family:Oswald,sans-serif;font-weight:500;font-size:clamp(1.2rem,2.4vw,1.75rem);color:#fff;text-align:left;margin:0 0 .8rem;line-height:1.2}.skill-tags{display:flex;flex-wrap:wrap;gap:.65rem;margin:0;padding:0}.skill-tag{display:inline-flex;align-items:center;padding:.45rem .75rem;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:transparent;color:#fff;font-size:.82rem;font-weight:700;line-height:1.2;white-space:nowrap;transition:color .2s ease,border-color .2s ease;cursor:default}.skill-tag:hover{color:#56eaa1;border-color:#56eaa173}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:stretch}.contact-copy,.contact-aside{display:flex;flex-direction:column;gap:1.5rem;min-height:100%}.contact-copy{justify-content:space-between}.contact-copy .section-badge{align-self:center}.contact-grid form{display:grid;gap:1.5rem;margin-top:1.5rem;flex:1}#contact-form button[type=submit]{width:100%;min-height:0;padding:.6rem 1.2rem}.contact-aside-image{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);min-height:240px;max-height:320px;height:100%}.contact-aside-image img{width:100%;height:100%;min-height:240px;max-height:320px;object-fit:cover;object-position:center top;display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}label{display:grid;gap:.45rem;font-weight:700;color:#fff}input,textarea,select{width:100%;min-height:46px;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0a;color:#fff}select{color:#fff;background-color:#111}select option{background-color:#111;color:#fff}textarea{min-height:120px;resize:vertical}.phone-input-group{display:grid;grid-template-columns:minmax(7.5rem,auto) 1fr;gap:.65rem}.phone-input-group select{min-width:0;padding-right:.75rem}.input-invalid,.phone-input-group.has-error input,.phone-input-group.has-error select{border-color:#fff9;box-shadow:inset 0 0 0 1px #fff3}.field-error{color:#fff;font-size:.875rem;font-weight:600;line-height:1.35}.form-status{min-height:1.2rem;margin:0;color:#fff;font-weight:700}.form-status.success{color:#56eaa1}.form-status.error{color:#fff}.footer-brand{margin:0;color:#fff;font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.footer-brand .text-accent{color:#56eaa1}.contact-panel{padding:2rem}.contact-links{display:grid;gap:.75rem;margin:1.5rem 0}.contact-detail{display:flex;justify-content:center;align-items:center}.contact-detail a{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:0 1.2rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#fff;font-weight:700;text-decoration:none;text-align:center;transition:background .2s ease,border-color .2s ease,color .2s ease}.contact-detail a:hover{background:#56eaa11a;border-color:#56eaa166;color:#56eaa1}.contact-actions{display:flex;flex-direction:column;gap:.75rem}.contact-action-full{width:100%;justify-content:center}.contact-links a,.contact-actions a{color:#fff;font-weight:700}.site-footer{padding:1rem 0;border-top:1px solid rgba(255,255,255,.08)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.footer-logo img{height:80px;width:auto}.footer-copyright{margin:0;color:#b7becd;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}.gallery-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gallery-modal{position:relative;width:min(100%,720px);max-height:min(85vh,640px);overflow-y:auto;padding:2rem;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(180deg,#121212fa,#080808fa);box-shadow:0 24px 80px #0000008c}.gallery-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0f;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;transition:background .2s ease}.gallery-modal-close:hover{background:#ffffff24}.gallery-modal h3{font-family:Oswald,sans-serif;text-transform:uppercase;margin:0 0 .5rem}.gallery-modal p{color:#b7becd;margin:0 0 1.5rem}.gallery-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.gallery-modal-item{padding:1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff08;text-align:center}.gallery-modal-item img{max-height:120px;width:100%;object-fit:contain;margin-bottom:.75rem}.gallery-modal-item span{display:block;font-size:.85rem;font-weight:700;color:#fff}.project-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));padding:0}@media (max-width: 1024px){.project-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}}#work{background:radial-gradient(ellipse at top,rgba(86,234,161,.03),transparent 70%),radial-gradient(ellipse at bottom right,rgba(86,234,161,.02),transparent 60%),radial-gradient(ellipse at bottom left,rgba(86,234,161,.02),transparent 60%)}#work .section-sub{max-width:600px}@media (max-width: 768px){.project-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.project-card .project-body{padding:1.5rem}.project-thumb{aspect-ratio:16 / 9}}#process .process-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:2.5rem;padding-top:2rem}#process .process-step-wrap{position:relative}#process .process-step{position:relative;min-height:280px;padding:0;background:transparent;border:0;box-shadow:none}#process .process-step:before,#process .process-step:after{display:none}#process .process-step .cardfx-content{display:flex;flex-direction:column;min-height:280px;padding-top:2.5rem}#process .process-step-num{position:absolute;top:-1.75rem;left:50%;transform:translate(-50%);z-index:3;width:3.25rem;height:3.25rem;display:grid;place-items:center;border:4px solid #000;border-radius:16px;background:linear-gradient(145deg,#14673e,#56eaa1);color:#fff;font-family:Oswald,sans-serif;font-size:1.4rem;font-weight:700;box-shadow:0 10px 26px #56eaa133}#process .process-step h3{margin:0 0 .75rem;text-align:left}#process .process-step p{flex:1;color:#b7becd;text-align:left}#process .mini-action{display:inline-flex;margin-top:auto;color:#56eaa1;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}#process .mini-action:hover{color:#fff}#cta{position:relative;padding:6rem 0;overflow:hidden;background:linear-gradient(120deg,#000,#0a1a12 58%,#14673e);isolation:auto}#cta .container{z-index:7}#cta:before,#cta:after{content:"";position:absolute;border-radius:50%;pointer-events:none}#cta:before{width:280px;height:280px;left:-120px;top:-150px;background:#56eaa10f}#cta:after{width:360px;height:360px;right:-150px;bottom:-230px;border:70px solid rgba(86,234,161,.06)}.cta-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.cta-inner h2{max-width:820px;margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.cta-inner h2 span{color:#56eaa1}.cta-inner .btn-primary{background:linear-gradient(135deg,#14673e,#56eaa1);border-color:#56eaa159;box-shadow:0 12px 28px #56eaa12e}.cta-inner .btn-primary:hover{background:#fff;color:#111}.graphic-carousel{position:relative;margin-top:2.5rem;padding:2rem 1.5rem 1.5rem;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:radial-gradient(circle at 50% 12%,rgba(86,234,161,.08),transparent 34%),#ffffff05;overflow:hidden}.graphic-carousel-row{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08)}.graphic-carousel-row .project-grid{margin-top:0}.graphic-carousel-viewport{position:relative;height:clamp(360px,45vw,560px);overflow:hidden;display:grid;place-items:center}.graphic-carousel-track{position:relative;width:100%;height:100%}.graphic-slide{position:absolute;top:50%;left:50%;width:clamp(180px,24vw,300px);aspect-ratio:1 / 1;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#0b0b0b;transform:translate(-50%,-50%) translate(calc(var(--offset) * clamp(130px,16vw,220px))) scale(calc(1 - (min(abs(var(--offset)),3)*.095)));z-index:calc(20 - abs(var(--offset)));opacity:calc(1 - (min(abs(var(--offset)),4)*.17));transition:transform .58s cubic-bezier(.22,.8,.22,1),opacity .4s ease,filter .4s ease,box-shadow .35s ease;overflow:hidden;cursor:pointer}.graphic-slide[data-active=true]{z-index:30;opacity:1;filter:none;box-shadow:0 30px 72px #00000073,0 0 0 1px #56eaa133}.graphic-slide:not([data-active=true]){filter:saturate(.68) brightness(.8)}.graphic-slide img{width:100%;height:100%;object-fit:cover}.graphic-placeholder{display:none}.graphic-carousel-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem}.graphic-carousel-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff0a;color:#fff;cursor:pointer}.graphic-carousel-btn:hover{background:#56eaa11f;border-color:#56eaa159}.graphic-carousel-dots{display:flex;gap:.45rem}.graphic-carousel-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ffffff40;cursor:pointer;transition:width .25s ease,background-color .25s ease}.graphic-carousel-dot.active{width:24px;border-radius:99px;background:#56eaa1}.center .section-sub code{color:#56eaa1;font-size:.85em}.tools-carousel-section{padding:4rem 0;overflow:hidden;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),#050505;background-size:42px 42px;border-top:1px solid rgba(86,234,161,.15);border-bottom:1px solid rgba(255,255,255,.06)}.tools-carousel-heading{margin-bottom:2rem}.tools-carousel-window{position:relative;overflow:hidden;padding:.75rem 0 1.25rem}.tools-carousel-window:before,.tools-carousel-window:after{content:"";position:absolute;top:0;bottom:0;z-index:3;width:clamp(28px,7vw,100px);pointer-events:none}.tools-carousel-window:before{left:0;background:linear-gradient(90deg,#050505,#05050500)}.tools-carousel-window:after{right:0;background:linear-gradient(270deg,#050505,#05050500)}.tools-carousel-track{display:flex;width:max-content;gap:18px;animation:toolsCarouselMove 38s linear infinite}.tools-carousel-window:hover .tools-carousel-track{animation-play-state:paused}.tools-carousel-set{display:flex;gap:18px}.tool-logo-card{flex:0 0 154px;min-height:158px;padding:1.35rem 1rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#ffffff05;color:#fff;text-align:center;transition:border-color .22s ease,box-shadow .22s ease}.tool-logo-card:hover{border-color:#56eaa173;box-shadow:0 14px 34px #00000059}.tool-logo-badge{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#fff;border:2px solid rgba(255,255,255,.14);overflow:hidden}.tool-logo-image{width:30px;height:30px;object-fit:contain;fill:#101010}.tool-logo-initials{font-family:Oswald,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:#101010}.tool-logo-card strong{font-size:.85rem;font-weight:700;line-height:1.35}.gallery-modal{width:min(100%,900px);max-height:min(90vh,780px)}.gallery-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.gallery-modal-header h3{margin:0 0 .35rem}.gallery-modal-header p{margin:0;color:#b7becd;font-size:.92rem}.gallery-modal-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.gallery-modal-display.scrollable{overflow-y:auto;overflow-x:hidden;max-height:52vh}.gallery-modal-display.scrollable img{width:100%;height:auto;object-fit:contain}.gallery-modal-display.zoomable{overflow:hidden;display:grid;place-items:center}.gallery-modal-display.zoomable img{max-width:100%;max-height:52vh;object-fit:contain;transition:transform .15s ease;-webkit-user-select:none;user-select:none}.gallery-zoom-controls{display:flex;gap:.5rem;margin-bottom:1rem}.gallery-zoom-controls button{min-height:36px;padding:0 .85rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f;color:#fff;font-weight:700;cursor:pointer}.gallery-zoom-controls button:hover{background:#56eaa11f;border-color:#56eaa159}.gallery-thumb-video{display:grid;place-items:center;width:100%;height:100%;color:#56eaa1;font-size:1.25rem}.gallery-modal-display{min-height:320px;max-height:52vh;margin-bottom:1rem;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff05;overflow:auto}.gallery-modal-display img,.gallery-modal-display video{width:100%;display:block}.gallery-modal-thumbs{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.35rem}.gallery-thumb{flex:0 0 auto;width:72px;height:72px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff08;overflow:hidden;cursor:pointer}.gallery-thumb.active{border-color:#56eaa1;box-shadow:0 0 0 1px #56eaa159}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-visit-link{display:inline-flex;align-items:center;gap:.35rem;color:#56eaa1;font-weight:700;text-decoration:none;white-space:nowrap}.gallery-visit-link:hover{color:#fff}.fade-up{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.fade-up.visible{opacity:1;transform:none}@media (max-width: 980px){.nav-bar{display:flex;justify-content:space-between}.nav-toggle{display:flex}.nav-links{position:fixed;inset:58px 0 auto 0;z-index:999;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:1rem;background:#080808eb;border-bottom:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);justify-self:stretch}.nav-links.open{display:flex}.nav-links a:not(.btn){padding:.9rem .5rem;border-bottom:1px solid rgba(255,255,255,.06)}.nav-cta{display:none}.nav-links .nav-cta-mobile{display:inline-flex;margin-top:.5rem;justify-content:center;text-decoration:none}.hero-grid{display:flex;flex-direction:column;gap:1.5rem;align-items:stretch}.hero-copy{flex:none;max-width:100%;padding:0 1rem}.cube-canvas{flex:none;max-width:100%;width:100%;min-height:360px}.contact-grid,.card-grid,.result-grid,.skill-grid,.project-grid{grid-template-columns:1fr}#skills .skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#process .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:4rem}#process .process-grid:before{display:none}.cta-inner{flex-direction:column;align-items:flex-start}}@media (min-width: 641px) and (max-width: 980px){.result-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.section,#cta{padding:4.5rem 0}.form-row{grid-template-columns:1fr}.profile-panel,.card,.result-card,.skill-card,.project-card,.contact-panel,.specialist-row{padding:1.75rem}#skills .skill-grid{grid-template-columns:1fr}#process .process-grid{grid-template-columns:1fr;row-gap:3.5rem}.contact-aside{grid-template-rows:auto auto}}.profile-panel--full{max-width:760px;margin:0 auto;align-items:center;text-align:center}.profile-panel--full .profile-content .section-heading,.profile-panel--full .profile-content p{text-align:center}.profile-panel--full .chip-list{justify-content:center}.specialists-list{display:flex;flex-direction:column;gap:2.5rem;margin-top:3rem}.specialist-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.5rem;align-items:center;padding:2rem;border-radius:20px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.06)}.specialist-row:nth-child(2n){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.specialist-row:nth-child(2n) .specialist-photo{order:2}.specialist-photo{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3 / 4;background:#ffffff08}.specialist-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease}.specialist-row:hover .specialist-photo img{transform:scale(1.04)}.specialist-content{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}.specialist-name{margin:0;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.1}.specialist-tagline{margin:0;max-width:52ch;color:#fff;font-size:1.05rem;line-height:1.5}.specialist-tags{display:flex;flex-wrap:wrap;gap:.6rem}.specialist-bio{margin:0;max-width:62ch;color:#b7becd;font-size:1rem;line-height:1.6}.specialist-bio span{color:#56eaa1;font-weight:700}.specialist-cta{margin-top:.5rem}@media (max-width: 860px){.specialist-row,.specialist-row:nth-child(2n){grid-template-columns:1fr}.specialist-row:nth-child(2n) .specialist-photo{order:0}.specialist-photo{aspect-ratio:16 / 10}.specialist-content{align-items:center;text-align:center}.specialist-tagline,.specialist-bio{max-width:100%}.specialist-tags{justify-content:center}}:root{--bg: #000000;--card-bg: var(--bg);--card-border: rgba(255,255,255,.1);--card-border-hover: rgba(255,255,255,.28);--text-primary: #f2f2f0;--text-secondary: #a1a1a1;--radius-lg: 20px;--glow-color: #00c758;--glow-color-soft: #6be89d;--section-bg: rgba(2, 4, 3, .4)}.section-container{position:relative;background:var(--section-bg);isolation:isolate}.cardfx{position:relative;border-radius:20px;overflow:hidden}.cardfx-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,rgba(0,0,0,.7) 72%,rgba(0,0,0,.25) 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,rgba(0,0,0,.7) 72%,rgba(0,0,0,.25) 88%,transparent 100%)}.cardfx-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:conic-gradient(from var(--angle),transparent 0deg,transparent 305deg,var(--glow-color) 325deg,var(--glow-color-soft) 340deg,var(--glow-color) 355deg,transparent 360deg);filter:blur(16px);opacity:0;transition:opacity .4s ease,filter .4s ease;animation:spin 6s linear infinite}.cardfx:hover .cardfx-glow{opacity:.45;filter:blur(14px) brightness(1.1)}.cardfx-surface{position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:20px;background:var(--card-bg);border:1px solid var(--card-border);overflow:hidden;transition:border-color .4s ease,box-shadow .4s ease}.cardfx:hover .cardfx-surface{border-color:var(--card-border-hover);box-shadow:0 0 4px #ffffff0f,0 1px 14px #ffffff1f,0 3px 32px #ffffff2e}.cardfx-surface:after{content:"";position:absolute;top:0;left:0;right:0;height:90px;background:radial-gradient(ellipse 40% 100% at 50% 0%,rgba(255,255,255,.2) 0%,rgba(255,255,255,.08) 50%,transparent 100%);opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:1}.cardfx:hover .cardfx-surface:after{opacity:1}.cardfx-surface:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.02) 46%,rgba(255,255,255,.07) 50%,rgba(255,255,255,.02) 54%,transparent 100%);transform:translate(-150%);animation:shine 9s ease-in-out infinite}.cardfx-content{position:relative;z-index:2;padding:2rem;border-radius:20px}@keyframes spin{0%{--angle: 0deg}to{--angle: 360deg}}@keyframes shine{0%{transform:translate(-150%)}40%{transform:translate(150%)}to{transform:translate(150%)}}.cardfx.card .cardfx-content{display:flex;flex-direction:column;min-height:280px}.cardfx.project-card{overflow:hidden}.cardfx.project-card .cardfx-content{padding:0}.cardfx.result-card .cardfx-content{display:flex;flex-direction:column;text-align:left}.cardfx.process-step .cardfx-content{text-align:center}.cardfx.logo-container .cardfx-content{padding:56px 48px;text-align:center}.logo-container p.lead{font-size:15px;color:var(--text-secondary);margin:0 0 40px}.logo-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 56px}.logo-grid span{font-size:18px;font-weight:600;color:var(--text-primary);opacity:.85;letter-spacing:-.01em}@media (max-width: 720px){.cardfx.logo-container .cardfx-content{padding:32px 24px}}.cardfx.card,.cardfx.result-card,.cardfx.project-card,.cardfx.process-step{background:transparent;border:none;box-shadow:none;padding:0}.cardfx.card:after,.cardfx.result-card:after,.cardfx.project-card:after,.cardfx.process-step:after{display:none}
