@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:var(--app-height);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#fff;background:#000}#root{min-height:var(--app-height)}#main-content{position:relative;isolation:isolate;min-height:var(--app-height)}.scene-canvas-shell{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;overflow:hidden}.scene-canvas-shell>*{pointer-events:auto;width:100vw!important;height:100vh!important;display:block}#main-content[data-scene-section=about] .scene-canvas-shell,#main-content[data-scene-section=services] .scene-canvas-shell,#main-content[data-scene-section=results] .scene-canvas-shell,#main-content[data-scene-section=work] .scene-canvas-shell,#main-content[data-scene-section=process] .scene-canvas-shell,#main-content[data-scene-section=experience] .scene-canvas-shell,#main-content[data-scene-section=cta] .scene-canvas-shell{z-index:6}#main-content[data-scene-section=hero] .scene-canvas-shell{z-index:8}#main-content[data-scene-section=hero] .hero{z-index:1}.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,.section-heading{font-family:Oswald,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.02em}*{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:64px;gap:1.5rem}.nav-logo{justify-self:start;background:transparent;border:0;padding:0;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:40px;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:2;display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.1rem;border-radius:999px;background:#0b0b0b;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.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,#00ff99 328deg,#7cffcf 338deg,#00ff99 348deg,transparent 360deg);animation:spin-glow 4s linear infinite;filter:blur(10px);z-index:0}.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,#00ff99 328deg,#7cffcf 338deg,#00ff99 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:1;filter:blur(14px) brightness(1.35)}.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:1;filter:blur(14px) brightness(1.2)}.btn-glow-secondary:hover{background:#ffffff0f!important;color:#fff!important;transform:none}.scene-section{min-height:var(--app-height);display:flex;align-items:center}.hero{position:relative;isolation:isolate;min-height:var(--app-height);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-bottom-glow{position:absolute;left:0;right:0;bottom:0;height:45%;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.55) 35%,rgba(0,0,0,.15) 65%,transparent 100%);z-index:1}.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(var(--app-height) - 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(2.5rem,5vw,3.125rem);line-height:1.05;letter-spacing:.01em;margin:0 0 1.75rem;text-transform:uppercase}.hero-copy p{max-width:60ch;margin:0 0 2rem;color:#b7becd;font-size:.96rem}.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}.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)}.section-label{display:none}.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;text-transform:uppercase}.section-sub{max-width:700px;margin:0 auto;color:#b7becd}.two-column{display:grid;grid-template-columns:1fr .9fr;gap:3rem;align-items:stretch}.profile-panel{display:flex;flex-direction:column;justify-content:space-between;gap:1.75rem;min-height:100%;padding:2.5rem;border-radius:22px;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}.about-photo{padding:.8rem;border-radius:22px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);display:flex;align-items:stretch}.about-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:14px}.profile-badge{align-self:center;text-align:center}.profile-badge .section-badge-text{background:#0b0b0b}.profile-content p{color:#b7becd}.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,.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.result-card,.skill-card,.project-card,.contact-panel{position:relative;padding:2rem;border-radius:18px;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:18px;padding:1px;pointer-events:none;background:radial-gradient(circle at 8% 8%,rgba(63,208,143,.3),rgba(63,208,143,.06) 20%,transparent 36%),radial-gradient(circle at 92% 8%,rgba(63,208,143,.26),rgba(63,208,143,.05) 20%,transparent 36%),radial-gradient(circle at 8% 92%,rgba(63,208,143,.14),rgba(63,208,143,.04) 16%,transparent 32%),radial-gradient(circle at 92% 92%,rgba(63,208,143,.16),rgba(63,208,143,.03) 16%,transparent 32%),linear-gradient(180deg,#3fd08f0f,#3fd08f0a 12%,#3fd08f05 28%,#3fd08f00 52%,#3fd08f00);-webkit-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:24px;pointer-events:none;z-index:-1;background:radial-gradient(circle at 12% 12%,rgba(63,208,143,.12),transparent 16%),radial-gradient(circle at 88% 12%,rgba(24,160,110,.08),transparent 16%),radial-gradient(circle at 50% 70%,rgba(0,0,0,.12),transparent 35%);filter:blur(12px);opacity:.9}.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 12px rgba(86,234,161,.6);box-shadow:0 0 18px #56eaa159,0 0 36px #56eaa126}.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}.card-link{display:inline-flex;margin-top:1rem;color:#ffffffd1;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:55%;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.25) 35%,rgba(0,0,0,.65) 70%,rgba(0,0,0,.92) 100%);z-index:2}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-card:nth-child(4){opacity:.72}.result-card:nth-child(5){opacity:.48}.result-card:nth-child(6){opacity:.28}.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:2.3rem;color:#fff;font-family:Oswald,sans-serif;text-transform:uppercase}.result-card .result-link{color:#ffffffd1;font-weight:700;text-decoration:none;transition:color .2s ease}.result-card .result-link:hover{color:#fff}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 2rem}.filter-btn{border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.62rem .95rem;background:#131313;color:#fff;font-weight:700;text-decoration:none;cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease}.filter-btn:hover,.filter-btn.active{background:#fff;color:#131313;box-shadow:0 0 20px #ffffff1f}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card .card-link,.project-card .project-btn{text-decoration:none}.tag,.project-badge{display:none}.project-badge-glow{margin-bottom:.75rem}.project-badge-glow .section-badge-text{padding:.45rem .75rem;font-size:.72rem;letter-spacing:.14em;background:#14673e}.project-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;min-height:46px;padding:0 1.2rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#101010;color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.project-btn:hover{background:#101010;color:#fff;border-color:#ffffff1f;box-shadow:none}.project-card{padding:0;overflow:hidden;transition:transform .25s ease,box-shadow .25s 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}.project-thumb img,.project-thumb .project-image-placeholder{width:100%;height:220px;object-fit:cover}.project-image-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,rgba(86,234,161,.08),transparent 45%),#ffffff08;color:#b7becd;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0000008c;opacity:0;transition:opacity .3s ease}.project-card:hover .project-thumb-overlay{opacity:1}.project-view-gallery{min-height:42px;padding:0 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#000000a6;color:#fff;font-weight:700;cursor:pointer}.project-body{padding:2rem}#skills{background:#0b0b0b}#skills .section-label{display:none}#skills .section-heading{font-family:Oswald,sans-serif;font-weight:700;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.05;text-transform:uppercase;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:3rem}#skills .skill-card{display:flex;flex-direction:column;height:100%;padding:clamp(2rem,3vw,2.5rem);border-radius:0;background:#111;border:1px solid #2f3440;box-shadow:none}#skills .skill-card:before,#skills .skill-card:after{display:none}#skills .skill-card h3{font-family:Oswald,sans-serif;font-weight:700;font-size:clamp(1.25rem,2vw,1.5rem);text-transform:uppercase;color:#fff;text-align:left;margin:0 0 2rem;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 #4a4f59;border-radius:0;background:transparent;color:#fff;font-size:.82rem;font-weight:700;line-height:1.2;white-space:nowrap}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:stretch}.contact-grid form{display:grid;gap:1.5rem;margin-top:1.5rem}.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}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:#ff8a8abf;box-shadow:inset 0 0 0 1px #ff8a8a40}.field-error{color:#ff8a8a;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:#ff8a8a}.contact-aside{display:grid;grid-template-rows:auto 1fr;gap:1.5rem;min-height:100%}.contact-aside .contact-panel{height:auto}.contact-aside-image{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);min-height:280px;flex:1}.contact-aside-image img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}.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:1rem;margin:1.5rem 0}.contact-links a{color:#fff;font-weight:700}.site-footer{padding:2.5rem 0 3rem;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:40px;width:auto}.footer-copyright{margin:0;color:#b7becd;font-size:.9rem}.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:18px;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}.card-glow-card,.result-card.card-glow-card,.project-card.card-glow-card{padding:0;background:transparent;border:0;box-shadow:none}.card-glow-card:before,.card-glow-card:after,.result-card.card-glow-card:before,.result-card.card-glow-card:after,.project-card.card-glow-card:before,.project-card.card-glow-card:after{display:none}.card-glow-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 63%,rgba(0,0,0,.9) 76%,rgba(0,0,0,.45) 90%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 63%,rgba(0,0,0,.9) 76%,rgba(0,0,0,.45) 90%,transparent 100%);pointer-events:none}.card-glow-spin{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:conic-gradient(from var(--angle),transparent 0deg,transparent 315deg,#00ff99 330deg,#7dffd8 340deg,#00ff99 350deg,transparent 360deg);filter:blur(18px);animation:spin-glow 5s linear infinite;opacity:0;transition:opacity .35s ease,filter .35s ease}.card-glow-surface{position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:17px;background:#0b0b0b;border:1px solid rgba(255,255,255,.08)}.card-glow-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,.03) 46%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.03) 54%,transparent 100%);transform:translate(-150%);animation:shine-sweep 8s ease-in-out infinite}.card-glow-card:hover .card-glow-spin{opacity:1;filter:blur(20px) brightness(1.4)}.card-glow-content{position:relative;z-index:2;padding:2rem}.project-card.card-glow-card .card-glow-content{padding:0}.project-card.card-glow-card .project-body{padding:2rem}#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-grid:before{content:"";position:absolute;top:3.5rem;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,rgba(86,234,161,.35),rgba(86,234,161,.2),transparent);z-index:0}#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 .card-glow-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}#experience .timeline{display:grid;gap:1.5rem;margin-top:2.5rem}.timeline-item{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:320px;overflow:hidden;border-radius:22px}.timeline-side{padding:2rem 1.75rem;background:linear-gradient(155deg,#0a0a0a,#14673e);color:#fff}.timeline-date{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border:1px solid rgba(86,234,161,.25);border-radius:999px;background:#56eaa114;font-size:.78rem;font-weight:800}.timeline-years{margin-top:1.75rem;font-family:Oswald,sans-serif;font-size:2.75rem;font-weight:700;line-height:1}.timeline-side-copy{margin-top:1rem;color:#b7becd;font-size:.9rem}.timeline-content{padding:2rem 2.25rem;background:linear-gradient(180deg,#ffffff05,#ffffff03)}.timeline-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.timeline-item h3{margin:0;font-size:clamp(1.4rem,2.5vw,1.85rem)}.timeline-item h4{margin:.35rem 0 0;color:#56eaa1;font-size:.95rem}.current-badge{padding:.4rem .75rem;border-radius:999px;background:#56eaa11f;color:#56eaa1;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.experience-summary{margin:0 0 1.25rem;color:#b7becd}.timeline-item ul{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;padding:0;margin:0;list-style:none}.timeline-item li{position:relative;padding:.75rem .75rem .75rem 2rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05;color:#b7becd;font-size:.88rem;line-height:1.45}.timeline-item li:before{content:"✓";position:absolute;left:.65rem;top:.75rem;color:#56eaa1;font-weight:900}#cta{position:relative;padding:4.5rem 0;overflow:hidden;background:linear-gradient(120deg,#000,#0a1a12 58%,#14673e)}#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;text-transform:uppercase}.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:18px;background:radial-gradient(circle at 50% 12%,rgba(86,234,161,.08),transparent 34%),#ffffff05;overflow:hidden}.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:4 / 5;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:12px;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{width:100%;height:100%;display:grid;place-items:center;background:#ffffff08;color:#b7becd;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.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:12px;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(86,234,161,.2);overflow:hidden}.tool-logo-badge img{width:42px;height:42px;object-fit:contain}.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:64px 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}.two-column,.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}.timeline-item{grid-template-columns:1fr;min-height:0}.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{padding:4.5rem 0}.form-row{grid-template-columns:1fr}.profile-panel,.card,.result-card,.skill-card,.project-card,.contact-panel{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}}
