:root{--bg-primary: #04040a;--bg-surface: #09090f;--bg-elevated: #0f0f18;--bg-card: #111120;--accent-primary: #FF6B35;--accent-dim: #cc5228;--accent-bright: #FF8555;--accent-glow: rgba(255, 107, 53, .12);--accent-glow-strong: rgba(255, 107, 53, .22);--accent-alt: #4D8CFF;--accent-alt-dim: #2f64cc;--accent-alt-glow: rgba(77, 140, 255, .12);--text-primary: #F0F0FA;--text-secondary: #8888A8;--text-muted: #46465E;--border-subtle: rgba(255, 255, 255, .05);--border-dim: rgba(255, 255, 255, .09);--border-accent: rgba(255, 107, 53, .3);--font-display: "Barlow Condensed", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--space-3xl: 96px;--max-width: 1200px;--nav-height: 72px;--ease-smooth: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.25, .46, .45, .94);--z-nav: 100;--z-cursor: 9999}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.route-home{height:100%;overflow:hidden}body.route-project{height:auto;min-height:100%;overflow-x:hidden}html:has(body.route-project){height:auto;overflow-y:auto}a{color:inherit;text-decoration:none}img,svg{display:block}button{background:none;border:none;font-family:inherit}ul,ol{list-style:none}.snap-dot{width:4px;height:4px;border-radius:50%;background:var(--text-muted);transition:background .35s var(--ease-smooth),height .35s var(--ease-smooth),border-radius .35s var(--ease-smooth);pointer-events:auto;cursor:pointer}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl);position:relative;z-index:1}@media (max-width: 768px){:root{--space-xl: 24px;--space-2xl: 48px;--space-3xl: 64px}}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}@keyframes reveal-line{to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.82)}}@keyframes scroll-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes fade-down-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}@keyframes fade-up-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}@keyframes reveal-line-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-105%)}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes accent-line-pulse{0%,to{opacity:.7}50%{opacity:.3}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease-smooth),transform .75s var(--ease-smooth)}.reveal.visible,.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.reveal.exiting{transition:opacity .35s var(--ease-smooth),transform .35s var(--ease-smooth);opacity:0}.reveal.exiting.exit-next{transform:translateY(-22px)}.reveal.exiting.exit-prev{transform:translateY(22px)}.reveal.exiting.exit-stagger-1{transition-delay:0s}.reveal.exiting.exit-stagger-2{transition-delay:.04s}.reveal.exiting.exit-stagger-3{transition-delay:.08s}.reveal.exiting.exit-stagger-4{transition-delay:.12s}.reveal.exiting.exit-stagger-5{transition-delay:.16s}.snap-panel{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;will-change:transform,opacity;-webkit-overflow-scrolling:touch;opacity:0;pointer-events:none}.snap-panel--scroll{overflow-y:auto;overflow-x:hidden}.snap-panel--scroll::-webkit-scrollbar{width:3px}.snap-panel--scroll::-webkit-scrollbar-track{background:transparent}.snap-panel--scroll::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:2px}.snap-panel--scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.snap-panel>section{width:100%;min-height:100%}.snap-panel:not(.snap-panel--scroll)>section{height:100%;min-height:unset;overflow:hidden}.snap-panel[data-visible=true]{opacity:1;pointer-events:auto;z-index:10}.snap-panel[data-visible=false]{z-index:0}.snap-dots{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:200;pointer-events:none}.snap-dot{width:4px;height:4px;border-radius:50%;background:var(--text-muted);border:none;padding:0;transition:background .35s var(--ease-smooth),height .35s var(--ease-smooth),border-radius .35s var(--ease-smooth);pointer-events:auto;cursor:pointer}.snap-dot.active{background:var(--accent-primary);height:20px;border-radius:2px;box-shadow:0 0 8px #ff6b3580}.snap-dot:hover:not(.active){background:var(--text-secondary)}@media (max-width: 768px){.snap-dots{display:none}}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,.6) 0%,transparent 70%)}.bg-glow-top{position:fixed;top:-220px;left:50%;transform:translate(-50%);width:900px;height:700px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,107,53,.05) 0%,transparent 65%);pointer-events:none;z-index:0}.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:var(--z-nav, 100);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);border-bottom:1px solid transparent;transition:border-color .3s ease,background-color .3s ease,backdrop-filter .3s ease}.nav.scrolled{background-color:#04040ae0;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-bottom-color:var(--border-subtle)}.nav-logo{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.02em;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm);transition:opacity .2s ease;background:none;border:none;cursor:pointer;text-decoration:none}.nav-logo:hover{opacity:.75}.nav-logo-img{height:32px;width:auto;display:block}.nav-logo-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary);flex-shrink:0;animation:pulse-dot 3s ease-in-out infinite}.nav-links{display:flex;align-items:center;gap:var(--space-xl);list-style:none}.nav-links a,.nav-links button{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);transition:color .2s ease;position:relative;background:none;border:none;text-decoration:none}.nav-links a:after,.nav-links button:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--accent-primary);transition:width .25s var(--ease-smooth)}.nav-links a:hover,.nav-links button:hover{color:var(--text-primary)}.nav-links a:hover:after,.nav-links button:hover:after{width:100%}.nav-cta{font-family:var(--font-mono)!important;font-size:12px!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--accent-primary)!important;border:1px solid var(--border-accent)!important;padding:8px 20px;border-radius:4px;transition:background-color .2s ease!important;background:none}.nav-cta:after{display:none!important}.nav-cta:hover{background-color:var(--accent-glow)!important;color:var(--accent-primary)!important}@media (max-width: 768px){.nav-links{display:none}}*,*:before,*:after{cursor:none!important}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:var(--z-cursor, 9999);will-change:transform;transform:translate(-50%,-50%)}.cursor-dot{width:5px;height:5px;background:var(--accent-primary);border-radius:50%;transition:width .18s var(--ease-smooth),height .18s var(--ease-smooth),opacity .18s ease,background .18s ease}.cursor-ring{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--accent-primary);background:transparent;opacity:.55;transition:width .35s var(--ease-smooth),height .35s var(--ease-smooth),opacity .25s ease,border-color .25s ease,background .3s ease}body.cursor-hover .cursor-ring{width:48px;height:48px;opacity:.8;border-color:var(--accent-bright);background:var(--accent-glow)}body.cursor-hover .cursor-dot{width:3px;height:3px;opacity:.6}body.cursor-click .cursor-ring{width:22px;height:22px;opacity:1;border-color:var(--accent-primary);background:#ff6b3533}body.cursor-click .cursor-dot{width:7px;height:7px}body.cursor-card .cursor-ring{width:56px;height:56px;opacity:.28;border-color:var(--text-muted);background:transparent}body.cursor-card .cursor-dot{background:var(--accent-bright)}body.cursor-hidden .cursor-ring,body.cursor-hidden .cursor-dot{opacity:0}@media (hover: none),(pointer: coarse){.cursor-dot,.cursor-ring{display:none}*,*:before,*:after{cursor:auto!important}}#hero-particles{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55}.hero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.012) 3px,rgba(255,255,255,.012) 4px);mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,0,0,.6) 0%,transparent 80%)}.about-identity.shimmer-ready{overflow:hidden}.about-identity.shimmer-ready:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(255,107,53,.06) 40%,rgba(255,107,53,.12) 50%,rgba(255,107,53,.06) 60%,transparent 100%);pointer-events:none;animation:shimmer-sweep .9s var(--ease-smooth) .3s forwards}@keyframes shimmer-sweep{to{left:140%}}.project-card{transform-style:preserve-3d;perspective:800px;transition:border-color .3s ease,transform .5s var(--ease-smooth),box-shadow .3s ease}.skill-level-label{transition:opacity .4s ease .8s}.skill-group:not(.visible) .skill-level-label{opacity:0}.contact-form-wrap:after{content:"";position:absolute;inset:0;border-radius:8px;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:160px}.motion-section-ghost{position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:clamp(100px,14vw,200px);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#ffffff04;line-height:1;user-select:none;pointer-events:none;will-change:transform;z-index:0}.motion-typed:after{content:"|";display:inline-block;color:var(--accent-primary);margin-left:1px;animation:blink-caret .9s step-end infinite}@keyframes blink-caret{0%,to{opacity:1}50%{opacity:0}}.about-identity-avatar.photo-ready{animation:avatar-float 6s ease-in-out infinite}@keyframes avatar-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.about-identity-avatar.photo-ready:before{content:"";position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary);z-index:5;animation:corner-dot-pulse 2.5s ease-in-out infinite}@keyframes corner-dot-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.hero-particles-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;pointer-events:none!important;opacity:.55}.hero{height:100%;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:0;padding-bottom:0;position:relative;overflow:hidden}.hero-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--nav-height) var(--space-xl) var(--space-xl);position:relative;z-index:1;display:grid;grid-template-columns:1.5fr 1.15fr;align-items:center;gap:var(--space-xl);min-height:100%;box-sizing:border-box}.hero-content{position:relative;z-index:1;overflow:visible}#hero-3d-canvas{width:100%;height:min(80vh,600px);position:relative;opacity:0;transition:opacity 1.2s var(--ease-smooth) .5s;cursor:grab}#hero-3d-canvas:active{cursor:grabbing}#hero-3d-canvas.hero-3d-ready{opacity:1}#hero-3d-canvas>canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important}#hero-3d-canvas:before{content:"";position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle,rgba(255,107,53,.08) 0%,rgba(77,140,255,.05) 50%,transparent 75%);pointer-events:none;z-index:0;animation:sphere-glow-pulse 4s ease-in-out infinite}@keyframes sphere-glow-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1.2;transform:scale(1.06)}}#hero-3d-canvas:after{content:"drag to rotate";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);opacity:0;transition:opacity .4s ease;pointer-events:none;white-space:nowrap;z-index:10}#hero-3d-canvas.hero-3d-ready:hover:after{opacity:1}.hero-status{display:inline-flex;align-items:center;gap:var(--space-sm);background:#ff6b3512;border:1px solid rgba(255,107,53,.22);border-radius:100px;padding:6px 16px;margin-bottom:var(--space-xl)}.hero-status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary);animation:pulse-dot 2s ease-in-out infinite}.hero-status-text{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-primary)}.hero-heading{font-family:var(--font-display);font-size:clamp(48px,8.5vw,116px);font-weight:800;line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--text-primary);margin-bottom:var(--space-lg)}.hero-heading-line{display:block;overflow:hidden}.hero-heading-line span{display:block}.hero-heading .accent{color:var(--accent-primary)}.hero-desc{font-size:17px;font-weight:300;line-height:1.75;color:var(--text-secondary);max-width:520px;margin-bottom:var(--space-xl)}.hero-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-2xl)}.tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-dim);padding:5px 12px;border-radius:3px;transition:color .2s ease,border-color .2s ease}.tag:hover{color:var(--text-secondary);border-color:#ffffff24}.hero-cta{display:flex;align-items:center;gap:var(--space-md)}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-sm);background:var(--accent-primary);color:#04040a;font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.04em;padding:14px 28px;border-radius:4px;cursor:pointer;text-decoration:none;border:none;transition:transform .22s var(--ease-bounce),box-shadow .22s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 36px #ff6b3547}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;padding:14px 28px;border-radius:4px;border:1px solid var(--border-dim);cursor:pointer;text-decoration:none;transition:color .2s ease,border-color .2s ease,transform .22s var(--ease-bounce)}.btn-secondary:hover{color:var(--text-primary);border-color:#fff3;transform:translateY(-2px)}.btn-arrow{display:inline-block;transition:transform .2s ease}.btn-primary:hover .btn-arrow,.btn-secondary:hover .btn-arrow{transform:translate(4px)}.hero-scroll{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);cursor:pointer}.hero-scroll span{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--accent-primary),transparent);animation:scroll-pulse 2.2s ease-in-out infinite}.hero-number{position:absolute;right:var(--space-xl);top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:clamp(160px,20vw,280px);font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#ffffff05;line-height:1;user-select:none;pointer-events:none}@media (prefers-reduced-motion: reduce){.hero-status,.hero-desc,.hero-tags,.hero-cta,.hero-scroll,.hero-heading-line span{opacity:1!important;transform:none!important;animation:none!important}}@media (max-height: 820px){.hero-inner{padding-top:calc(var(--nav-height) + 8px);gap:var(--space-lg)}#hero-3d-canvas{height:min(70vh,520px)}.hero-status{margin-bottom:var(--space-md);padding:4px 12px}.hero-heading{font-size:clamp(32px,5.5vw,80px);margin-bottom:var(--space-md)}.hero-desc{font-size:14px;margin-bottom:var(--space-md);line-height:1.65}.hero-tags{margin-bottom:var(--space-md);gap:5px}.tag{font-size:10px;padding:4px 10px}.btn-primary,.btn-secondary{padding:10px 20px;font-size:12px}.hero-scroll{bottom:var(--space-md)}}@media (max-height: 700px){.hero-inner{gap:var(--space-md)!important}#hero-3d-canvas{height:min(60vh,400px)}.hero-status{display:none}.hero-heading{font-size:clamp(28px,4.5vw,64px);margin-bottom:var(--space-sm)}.hero-desc{font-size:13px;margin-bottom:var(--space-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-tags{margin-bottom:var(--space-sm)}.hero-scroll{display:none}}@media (max-height: 580px){.hero-tags{display:none}#hero-3d-canvas{height:min(55vh,320px)}}@media (max-width: 900px){.hero-inner{grid-template-columns:1fr!important;gap:var(--space-lg)!important;align-items:start!important;padding-top:calc(var(--nav-height) + var(--space-md));padding-bottom:var(--space-2xl);overflow-y:auto}#hero-3d-canvas{width:min(70vw,420px);height:min(70vw,420px);margin:0 auto;order:-1}}@media (max-width: 600px){.hero-inner{padding:calc(var(--nav-height) + var(--space-sm)) var(--space-md) var(--space-xl);gap:var(--space-md)!important}.hero-cta{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.hero-number{display:none}#hero-3d-canvas{width:min(80vw,300px);height:min(80vw,300px);opacity:.9}.hero-heading{font-size:clamp(38px,12vw,72px)}.hero-desc{font-size:14px}.btn-primary,.btn-secondary{width:100%;justify-content:center}}@media (max-width: 380px){#hero-3d-canvas{width:min(85vw,240px);height:min(85vw,240px)}}.about{padding:var(--space-3xl) 0;position:relative}.section-label{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.section-label-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent-primary)}.section-label-line{width:0;height:1px;background:var(--accent-primary);opacity:.5;transition:width .8s var(--ease-smooth) .35s}.section-label.visible .section-label-line{width:40px}.section-label-text{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.about-grid{display:grid;grid-template-columns:1fr 420px;gap:var(--space-3xl);align-items:start}.about-heading{font-family:var(--font-display);font-size:clamp(42px,5.5vw,72px);font-weight:800;line-height:1;letter-spacing:.01em;text-transform:uppercase;color:var(--text-primary);margin-bottom:var(--space-lg)}.about-heading .accent{color:var(--accent-primary)}.about-heading .dim{color:var(--text-muted)}.about-bio{font-size:15px;font-weight:300;line-height:1.85;color:var(--text-secondary);max-width:540px;margin-bottom:var(--space-lg)}.about-bio+.about-bio{margin-top:calc(var(--space-md) * -.5)}.about-bio strong{color:var(--text-primary);font-weight:500}.about-doing{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xl)}.about-doing-chip{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border-dim);border-radius:4px;padding:9px 16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);transition:border-color .2s ease,color .2s ease}.about-doing-chip:hover{border-color:var(--border-accent);color:var(--text-primary)}.about-doing-chip-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-primary);opacity:.7;flex-shrink:0}.about-panel{position:sticky;top:calc(var(--nav-height) + var(--space-xl));display:flex;flex-direction:column;gap:var(--space-md)}.about-identity{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:12px;padding:0;position:relative;overflow:hidden}.about-identity:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-primary),transparent 60%);z-index:4}.about-identity-avatar{width:100%;aspect-ratio:3 / 4;position:relative;overflow:hidden;border-radius:12px 12px 0 0;box-shadow:inset 0 0 0 1px var(--border-dim);background:var(--bg-elevated)}.about-identity-avatar:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(4,4,10,.1) 0%,transparent 40%,transparent 55%,rgba(4,4,10,.7) 100%);pointer-events:none}.about-identity-avatar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary) 30%,var(--accent-alt) 70%,transparent);opacity:.7;z-index:3;animation:accent-line-pulse 3s ease-in-out infinite}.avatar-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;z-index:1;opacity:0;transform:scale(1.06);filter:blur(8px) brightness(.8) saturate(.6);transition:opacity .9s var(--ease-smooth),transform 1.1s var(--ease-smooth),filter .9s ease}.about-identity-avatar.photo-ready .avatar-photo{opacity:1;transform:scale(1);filter:blur(0px) brightness(1) saturate(1);animation:photo-ken-burns 14s ease-in-out infinite alternate}@keyframes photo-ken-burns{0%{transform:scale(1) translateY(0)}to{transform:scale(1.04) translateY(-6px)}}.about-identity:hover .about-identity-avatar{box-shadow:inset 0 0 0 1px var(--border-accent)}.avatar-scanline{position:absolute;inset:0;pointer-events:none;z-index:2;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 3px);opacity:.5;mix-blend-mode:overlay}.avatar-corner-tag{position:absolute;top:var(--space-md);right:var(--space-md);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);background:#04040abf;border:1px solid rgba(255,107,53,.25);padding:4px 10px;border-radius:3px;backdrop-filter:blur(8px);z-index:4}.about-identity-body{padding:var(--space-lg) var(--space-xl)}.about-identity-name{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px}.about-identity-role{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:var(--space-md)}.about-identity-meta{display:flex;flex-direction:column;gap:8px;padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.about-identity-meta-row{display:flex;justify-content:space-between;align-items:center}.about-identity-meta-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.about-identity-meta-val{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-secondary)}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.stat-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:8px;padding:var(--space-md) var(--space-lg);transition:border-color .25s ease}.stat-card:hover{border-color:var(--border-accent)}.stat-num{font-family:var(--font-display);font-size:36px;font-weight:800;letter-spacing:.01em;color:var(--text-primary);line-height:1;margin-bottom:4px}.stat-num .stat-accent{color:var(--accent-primary)}.stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.about-status{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:8px;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between}.about-status-left{display:flex;align-items:center;gap:var(--space-sm)}.about-status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade8099;animation:pulse-dot 2.5s ease-in-out infinite;flex-shrink:0}.about-status-text{font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary)}.about-status-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#4ade80;background:#4ade8014;border:1px solid rgba(74,222,128,.2);padding:3px 10px;border-radius:100px}@media (max-width: 900px){.about-grid{grid-template-columns:1fr}.about-panel{position:static;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.about-identity{grid-column:1 / -1}}@media (max-width: 600px){.about-panel{grid-template-columns:1fr}.about-stats{grid-template-columns:1fr 1fr}}.projects{height:100%;min-height:100%;padding:clamp(16px,3.5vh,48px) 0 clamp(16px,3vh,40px);position:relative;overflow:hidden}.projects>.container{height:100%;display:flex;flex-direction:column}.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border-dim) 20%,var(--border-dim) 80%,transparent);margin-bottom:clamp(16px,2.5vh,32px);position:relative;overflow:hidden}.section-divider:after{content:"";position:absolute;top:0;left:0;height:1px;width:0%;background:linear-gradient(90deg,transparent,var(--border-dim) 20%,var(--border-dim) 80%,transparent);transition:width 1.1s var(--ease-smooth)}.section-divider.line-drawn:after{width:100%}.projects-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);margin-bottom:clamp(12px,2vh,24px);flex-wrap:wrap}.projects-heading{font-family:var(--font-display);font-size:clamp(38px,5vw,64px);font-weight:800;line-height:1;letter-spacing:.01em;text-transform:uppercase;color:var(--text-primary);margin-top:var(--space-md)}.projects-heading .accent{color:var(--accent-primary)}.projects-count{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;white-space:nowrap}.projects-filter{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:clamp(12px,2vh,24px);flex-wrap:wrap}@media (min-width: 901px){.projects-filter{flex-wrap:nowrap}}.filter-btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid var(--border-dim);border-radius:3px;padding:7px 16px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.filter-btn:hover{color:var(--text-secondary);border-color:#ffffff24}.filter-btn.active{color:var(--accent-primary);border-color:var(--border-accent);background:var(--accent-glow)}.projects-grid-viewport{overflow:hidden;width:100%;min-height:0;flex:1;display:flex;padding-bottom:var(--space-sm);cursor:ew-resize}.projects-grid{display:flex;flex:1 0 max-content;min-height:0;align-items:stretch;gap:var(--space-md);width:max-content;min-width:100%;will-change:transform}.project-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:8px;padding:0;position:relative;overflow:hidden;display:flex;flex-direction:column;transform-style:preserve-3d;perspective:800px;transition:border-color .3s ease,transform .3s var(--ease-smooth),box-shadow .3s ease;cursor:default;flex:0 0 clamp(280px,31vw,430px);min-height:0;height:100%}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--accent-primary),transparent 60%);opacity:0;transition:opacity .3s ease;z-index:2}.project-card:hover{border-color:var(--border-accent);transform:translateY(-3px);box-shadow:0 16px 48px #0000004d,0 0 0 1px var(--border-accent)}.project-card:hover:before{opacity:1}.project-card.featured{flex-basis:clamp(360px,48vw,660px)}.project-card[data-hidden=true]{display:none}.project-card.tilting{box-shadow:0 20px 60px #0006,0 0 0 1px var(--border-accent)}.project-preview{width:100%;aspect-ratio:16 / 9;position:relative;overflow:hidden;border-radius:4px 4px 0 0;background:var(--bg-elevated);flex-shrink:0}.projects-grid .project-preview{height:clamp(116px,20vh,190px);aspect-ratio:auto}.projects-grid .project-card.featured .project-preview{aspect-ratio:auto}.project-card.featured .project-preview{aspect-ratio:21 / 9}.project-preview-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .65s var(--ease-smooth),filter .4s ease,opacity .35s ease;filter:brightness(.88) saturate(.85);will-change:transform}.project-card:hover .project-preview-img{transform:scale(1.04);filter:brightness(.96) saturate(1.05)}.project-preview-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .4s ease;z-index:2}.project-card:hover .project-preview-video{opacity:1}.project-preview-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to bottom,transparent 30%,rgba(4,4,10,.55) 75%,rgba(4,4,10,.92) 100%);box-shadow:inset 0 0 60px -20px var(--preview-color, var(--accent-primary));opacity:.7;transition:opacity .4s ease}.project-card:hover .project-preview-overlay{opacity:.9}.project-preview-noise{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px;mix-blend-mode:overlay}.project-preview--placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 80% 80% at 50% 50%,color-mix(in srgb,var(--preview-color, var(--accent-primary)) 12%,transparent),transparent 75%),var(--bg-elevated);border-bottom:1px solid var(--border-dim)}.project-preview--placeholder:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:32px 32px;opacity:.5}.project-preview-placeholder-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.project-preview-placeholder-num{font-family:var(--font-display);font-size:clamp(36px,6vw,64px);font-weight:800;letter-spacing:.06em;color:var(--preview-color, var(--accent-primary));opacity:.18;line-height:1}.project-preview-placeholder-cat{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--preview-color, var(--accent-primary));opacity:.35}.project-card:hover .project-preview--placeholder .project-preview-placeholder-num{opacity:.28;transition:opacity .3s ease}.project-card-body{padding:clamp(14px,1.6vw,24px);display:flex;flex-direction:column;flex:1;min-height:0;position:relative;z-index:1}.project-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(10px,1.5vh,20px)}.project-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-muted)}.project-status{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:100px;border:1px solid transparent}.project-status.completed{color:#4ade80;background:#4ade8012;border-color:#4ade8033}.project-status.wip{color:#facc15;background:#facc1512;border-color:#facc1533}.project-status.archived{color:var(--text-muted);background:#ffffff08;border-color:var(--border-dim)}.project-status.concept{color:var(--accent-alt);background:var(--accent-alt-glow);border-color:#4d8cff40}.project-category{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:var(--space-sm);opacity:.8}.project-title{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-primary);line-height:1.1;margin-bottom:var(--space-md)}.project-card.featured .project-title{font-size:clamp(28px,3.5vw,44px)}.project-desc{font-size:14px;font-weight:300;line-height:1.55;color:var(--text-secondary);flex:1;margin-bottom:clamp(10px,1.5vh,20px);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:clamp(10px,1.5vh,20px)}.project-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:4px 10px;border-radius:3px}.project-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-md);border-top:1px solid var(--border-subtle);margin-top:auto}.project-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-primary);transition:gap .2s var(--ease-smooth);text-decoration:none}.project-link:hover{gap:14px}.project-link-arrow{display:inline-block;transition:transform .2s ease}.project-link:hover .project-link-arrow{transform:translate(4px)}.project-link.disabled{color:var(--text-muted);pointer-events:none}.project-bg-num{position:absolute;right:var(--space-xl);bottom:-12px;font-family:var(--font-display);font-size:120px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#ffffff06;line-height:1;user-select:none;pointer-events:none}.card-tilt-glow{position:absolute;inset:0;border-radius:8px;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--glow-x, 50%) var(--glow-y, 50%),rgba(255,107,53,.1) 0%,transparent 65%);transition:opacity .3s ease;z-index:0}.project-card:hover .card-tilt-glow{opacity:1}.project3d-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;opacity:0;pointer-events:none;z-index:5;cursor:grab;border-radius:4px 4px 0 0}.project3d-canvas:active{cursor:grabbing}.project3d-spinner{position:absolute;top:var(--space-md);right:var(--space-md);z-index:6;opacity:0;pointer-events:none;transition:opacity .25s ease}.project3d-spinner-ring{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,107,53,.2);border-top-color:var(--accent-primary);animation:spinner-rotate .7s linear infinite}.project3d-hint{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);background:#04040aa6;padding:3px 10px;border-radius:100px;border:1px solid var(--border-dim);backdrop-filter:blur(6px);z-index:7;pointer-events:none;white-space:nowrap;opacity:0;transition:opacity .35s ease .2s}.project3d-canvas.is-visible~.project3d-hint{opacity:1}@media (max-width: 900px){.projects-grid{gap:var(--space-sm)}.project-card.featured{flex-basis:clamp(320px,72vw,560px)}}@media (max-width: 600px){.projects-grid{gap:var(--space-sm)}.project-card.featured{flex-basis:min(84vw,420px)}.projects-header{flex-direction:column;align-items:flex-start}}@media (min-width: 901px) and (max-height: 760px){.projects{padding-top:16px;padding-bottom:20px}.projects .section-divider{margin-bottom:16px}.projects-header{margin-bottom:12px}.projects-filter{margin-bottom:14px}.project-card-body{padding:14px 18px}.project-card-top,.project-desc,.project-tags{margin-bottom:10px}}.skills{padding:var(--space-3xl) 0;position:relative}.skills-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-wrap:wrap}.skills-heading{font-family:var(--font-display);font-size:clamp(38px,5vw,64px);font-weight:800;line-height:1;letter-spacing:.01em;text-transform:uppercase;color:var(--text-primary);margin-top:var(--space-md)}.skills-heading .accent{color:var(--accent-primary)}.skills-sub{font-size:14px;font-weight:300;line-height:1.7;color:var(--text-secondary);max-width:340px;text-align:right}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-md)}.skill-group{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:8px;padding:var(--space-xl);position:relative;overflow:hidden;transition:border-color .3s ease}.skill-group:hover{border-color:#ffffff1a}.skill-group:before{content:"";position:absolute;top:0;left:0;right:0;height:2px}.skill-group.game:before{background:linear-gradient(90deg,var(--accent-primary),transparent 70%)}.skill-group.art:before{background:linear-gradient(90deg,#a78bfa,transparent 70%)}.skill-group.code:before{background:linear-gradient(90deg,var(--accent-alt),transparent 70%)}.skill-group.tools:before{background:linear-gradient(90deg,#34d399,transparent 70%)}.skill-group-icon{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}.skill-group-icon-img{width:25px;height:25px;object-fit:contain;display:block}.skill-group.game .skill-group-icon{background:#ff6b351a}.skill-group.art .skill-group-icon{background:#a78bfa1a}.skill-group.code .skill-group-icon{background:#4d8cff1a}.skill-group.tools .skill-group-icon{background:#34d3991a}.skill-group-title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px}.skill-group-count{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-xl)}.skill-list{display:flex;flex-direction:column;gap:var(--space-md)}.skill-item{display:flex;flex-direction:column;gap:6px}.skill-item-top{display:flex;align-items:center;justify-content:space-between}.skill-name{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.skill-level-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--text-muted);opacity:0;transition:opacity .4s ease .8s}.skill-group.visible .skill-level-label{opacity:1}.skill-bar-track{height:2px;background:var(--border-subtle);border-radius:2px;overflow:hidden;position:relative}.skill-bar-fill{height:100%;border-radius:2px;width:0%;transition:width 1.1s var(--ease-smooth)}.skill-group.visible .skill-bar-fill{width:var(--skill-level, 0%)}.skill-group.game .skill-bar-fill{background:linear-gradient(90deg,var(--accent-primary),var(--accent-bright))}.skill-group.art .skill-bar-fill{background:linear-gradient(90deg,#a78bfa,#c4b5fd)}.skill-group.code .skill-bar-fill{background:linear-gradient(90deg,var(--accent-alt),#7db3ff)}.skill-group.tools .skill-bar-fill{background:linear-gradient(90deg,#34d399,#6ee7b7)}.skills-learning{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:8px;padding:var(--space-lg) var(--space-xl);display:flex;align-items:center;gap:var(--space-xl);flex-wrap:wrap}.skills-learning-label{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.skills-learning-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-alt);box-shadow:0 0 8px #4d8cff99;animation:pulse-dot 2.5s ease-in-out infinite;flex-shrink:0}.skills-learning-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.skills-learning-divider{width:1px;height:20px;background:var(--border-dim);flex-shrink:0}.skills-learning-items{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.skills-learning-chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-alt);background:var(--accent-alt-glow);border:1px solid rgba(77,140,255,.2);padding:4px 12px;border-radius:3px}@media (max-width: 1000px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.skills-grid{grid-template-columns:1fr}.skills-header{flex-direction:column;align-items:flex-start}.skills-sub{text-align:left;max-width:100%}.skills-learning{gap:var(--space-md)}.skills-learning-divider{display:none}}.contact{padding:var(--space-3xl) 0 var(--space-2xl);position:relative}.contact-statement{text-align:center;margin-bottom:var(--space-3xl);padding:var(--space-3xl) 0;position:relative}.contact-statement:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--border-accent))}.contact-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:var(--space-lg);margin-top:var(--space-xl);display:block}.contact-heading{font-family:var(--font-display);font-size:clamp(52px,8vw,110px);font-weight:800;line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--text-primary);margin-bottom:var(--space-xl)}.contact-heading .accent{color:var(--accent-primary)}.contact-heading .dim{color:#f0f0fa2e}.contact-tagline{font-size:16px;font-weight:300;line-height:1.7;color:var(--text-secondary);max-width:480px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-2xl);align-items:start}.contact-info-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm)}.contact-email{font-family:var(--font-display);font-size:clamp(20px,2.5vw,28px);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-primary);margin-bottom:var(--space-2xl);display:inline-block;transition:color .2s ease;text-decoration:none}.contact-email:hover{color:var(--accent-primary)}.contact-socials{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-2xl)}.social-link{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--border-dim);border-radius:6px;text-decoration:none;transition:border-color .25s ease,background .25s ease,transform .25s var(--ease-smooth)}.social-link:hover{border-color:var(--border-accent);background:var(--accent-glow);transform:translate(4px)}.social-link-left{display:flex;align-items:center;gap:var(--space-md)}.social-icon-img{width:18px;height:18px;object-fit:contain;display:block}.social-link-icon{width:32px;height:32px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border-dim);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.social-link-info{display:flex;flex-direction:column;gap:2px}.social-link-platform{font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-primary)}.social-link-handle{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--text-muted)}.social-link-arrow{font-size:14px;color:var(--text-muted);transition:color .2s ease,transform .2s ease}.social-link:hover .social-link-arrow{color:var(--accent-primary);transform:translate(3px)}.contact-avail{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:#4ade800d;border:1px solid rgba(74,222,128,.15);border-radius:6px}.contact-avail-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade8099;animation:pulse-dot 2.5s ease-in-out infinite;flex-shrink:0}.contact-avail-text{font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#4ade80}.contact-form-wrap{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:8px;padding:var(--space-xl);position:relative;overflow:hidden}.contact-form-wrap:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--accent-primary),transparent 60%)}.contact-form-title{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px}.contact-form-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--space-md)}.form-field.row-field{margin-bottom:0}.form-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.form-error{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:#ff6b6b;margin-top:-2px}.form-input,.form-textarea{width:100%;background:var(--bg-elevated);border:1px solid var(--border-dim);border-radius:4px;padding:12px 16px;font-family:var(--font-body);font-size:14px;font-weight:300;color:var(--text-primary);outline:none;transition:border-color .2s ease,box-shadow .2s ease;resize:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted);font-style:italic}.form-input:focus,.form-textarea:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-textarea{height:130px}.form-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--accent-primary);color:#04040a;font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:15px 28px;border-radius:4px;border:none;cursor:pointer;position:relative;overflow:hidden;transition:transform .22s var(--ease-bounce),box-shadow .22s ease,background .2s ease;margin-top:var(--space-md)}.form-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 36px #ff6b3547}.form-submit:disabled{background:var(--accent-dim);cursor:not-allowed;opacity:.7}.form-submit-arrow{display:inline-block;transition:transform .2s ease}.form-submit:hover:not(:disabled) .form-submit-arrow{transform:translate(4px)}.form-submit .submit-ripple{position:absolute;border-radius:50%;background:#fff3;width:10px;height:10px;transform:scale(0);pointer-events:none;animation:ripple-expand .55s var(--ease-out) forwards}@keyframes ripple-expand{to{transform:scale(24);opacity:0}}.form-success{display:none;text-align:center;padding:var(--space-xl) 0}.form-success.visible{display:block}.form-success-icon{font-size:36px;margin-bottom:var(--space-md)}.form-success-msg{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}.form-success-sub{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--text-muted)}.footer{border-top:1px solid var(--border-subtle);padding:var(--space-xl) 0;margin-top:var(--space-3xl)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);flex-wrap:wrap}.footer-logo-img{height:22px;width:auto;display:block;opacity:.85}.footer-logo{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:6px}.footer-copy{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.footer-copy span{color:var(--accent-primary);opacity:.8}.footer-back-top{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:6px;cursor:pointer;transition:color .2s ease;background:none;border:none}.footer-back-top:hover{color:var(--text-secondary)}.footer-back-top-arrow{display:inline-block;transition:transform .2s ease}.footer-back-top:hover .footer-back-top-arrow{transform:translateY(-3px)}@media (max-width: 860px){.contact-grid{grid-template-columns:1fr}.contact-heading{font-size:clamp(44px,10vw,80px)}}@media (max-width: 500px){.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start;gap:var(--space-md)}}
