@property --bk-size{syntax: "<length>"; inherits: false; initial-value: 40px;}:root{--bg: #0a0a0a;--bg-raised: #111111;--bg-hover: #1a1a1a;--fg: #f0ece4;--accent: #e8ff47;--muted: #888;--glass: rgba(255,255,255,.04);--border: rgba(255,255,255,.06);--border-medium: rgba(255,255,255,.12);--font: "Space Grotesk", sans-serif;--font-display: "Playfair Display", serif;--ease-out: cubic-bezier(.19, 1, .22, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .8s;--duration-reveal: 1.2s}*{margin:0;padding:0;box-sizing:border-box}::selection{background:var(--accent);color:var(--bg)}body,html{width:100%;font-family:var(--font);background-color:var(--bg);color:var(--fg)}body{cursor:none}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:10001;animation:scroll-progress linear;animation-timeline:scroll(root);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 60%,transparent),0 2px 16px color-mix(in srgb,var(--accent) 30%,transparent)}@keyframes scroll-progress{to{transform:scaleX(1)}}.cursor-cross{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform;transform:translate(var(--cx, 0),var(--cy, 0));transition:opacity .2s}.cursor-cross.hidden{opacity:0}.cross-dot{position:absolute;width:4px;height:4px;background:var(--fg);top:-2px;left:-2px}.cross-h,.cross-v{position:absolute;background:#f0ece440}.cross-h{width:18px;height:1px;top:-.5px;left:-9px}.cross-v{width:1px;height:18px;top:-9px;left:-.5px}.cursor-bracket{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;will-change:transform;--bk-size: 40px;width:var(--bk-size);height:var(--bk-size);transform:translate(calc(var(--bx, 0) - var(--bk-size) / 2),calc(var(--by, 0) - var(--bk-size) / 2));transition:--bk-size var(--duration-normal) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.bracket-corner{position:absolute;width:10px;height:10px;border-color:#f0ece459;border-style:solid;border-width:0;transition:border-color var(--duration-normal) var(--ease-out),width var(--duration-normal) var(--ease-out),height var(--duration-normal) var(--ease-out)}.bc-tl{top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}.bc-tr{top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}.bc-bl{bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}.bc-br{bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}.cursor-bracket.hovered{--bk-size: 56px;opacity:.5}.cursor-bracket.hovered .bracket-corner{border-color:var(--accent)}.cursor-bracket.cursor-view{--bk-size: 80px;background:var(--accent);border-radius:50%;opacity:1}.cursor-bracket.cursor-view .bracket-corner{border-color:transparent;width:0;height:0}.cursor-bracket.cursor-cta{--bk-size: 88px;background:var(--fg);border-radius:50%;opacity:1}.cursor-bracket.cursor-cta .bracket-corner{border-color:transparent;width:0;height:0}.cursor-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--bg);opacity:0;pointer-events:none;white-space:nowrap;transition:opacity var(--duration-fast)}.cursor-view .cursor-label,.cursor-cta .cursor-label{opacity:1}.project-preview{position:fixed;top:0;left:0;width:320px;height:200px;border-radius:12px;overflow:hidden;pointer-events:none;z-index:9990;opacity:0;will-change:transform;transition:opacity .3s var(--ease-out);box-shadow:0 20px 60px #00000080}.project-preview.active{opacity:1;transform:scale(1)}.preview-img{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.preview-img.active{opacity:1}.preview-img span{font-size:2.4rem;font-weight:200;color:#ffffff1f;letter-spacing:-.02em;position:relative;z-index:1}.preview-mock{position:absolute;top:12px;right:12px;bottom:12px;left:12px;opacity:.15;display:flex;flex-direction:column;gap:6px}.preview-bar{height:8px;border-radius:4px;background:#ffffff80;width:60%}.preview-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:4px}.preview-grid span{display:block;font-size:0;background:#fff3;border-radius:4px}.preview-lines{flex:1;display:flex;flex-direction:column;gap:4px}.preview-lines span{display:block;font-size:0;height:6px;border-radius:3px;background:#ffffff40}.preview-lines span:nth-child(2){width:80%}.preview-lines span:nth-child(3){width:50%}.preview-hero-block{flex:1;background:#ffffff26;border-radius:6px}.preview-table{flex:1;display:flex;flex-direction:column;gap:3px}.preview-table span{display:block;font-size:0;height:10px;background:#ffffff26;border-radius:2px}.preview-table span:nth-child(2n){background:#ffffff1a}@media (pointer: coarse){.cursor-cross,.cursor-bracket{display:none!important}body{cursor:auto}}.orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0;opacity:.3}.orb-1{width:500px;height:500px;background:radial-gradient(circle,rgba(232,255,71,.35) 0%,rgba(232,255,71,.1) 30%,transparent 60%);top:20%;left:-10%;animation:floatOrb 12s ease-in-out infinite alternate}.orb-2{width:350px;height:350px;background:radial-gradient(circle,rgba(71,232,255,.3) 0%,rgba(71,232,255,.08) 30%,transparent 60%);bottom:10%;right:-5%;animation:floatOrb 15s ease-in-out infinite alternate-reverse}@keyframes floatOrb{0%{transform:translate(0) scale(1)}to{transform:translate(-40px,30px) scale(1.15)}}.site-nav{position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:24px 40px;background:#0a0a0a99;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid var(--border)}.nav-logo{font-size:16px;font-weight:300;letter-spacing:.2em;color:var(--fg);text-decoration:none}.nav-links{display:flex;align-items:center;gap:32px}.lang-toggle{background:none;border:1px solid var(--border-medium);color:var(--fg);font-family:var(--font);font-size:11px;font-weight:400;letter-spacing:1px;padding:6px 14px;border-radius:4px;cursor:none;opacity:.7;transition:opacity var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.lang-toggle:hover{opacity:1;border-color:var(--accent)}.nav-links a{position:relative;color:var(--fg);text-decoration:none;font-size:13px;font-weight:400;letter-spacing:1px;text-transform:uppercase;opacity:.7;transition:opacity var(--duration-normal) var(--ease-out)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width var(--duration-normal) var(--ease-out)}.nav-links a:hover{opacity:1}.nav-links a:hover:after{width:100%}.hero-wrapper{height:200vh;position:relative}.hero{position:sticky;top:0;width:100%;height:100vh;overflow:hidden}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;touch-action:pan-y}.ui-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:40px}.ui-layer main{max-width:600px;margin-bottom:20px}.wall-section{position:relative;height:300vh;background:#000}.wall-sticky{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.wall-layer{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform;transform-origin:50% 50%}.wall-layer img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--accent)}.wall-scatter{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;will-change:opacity;pointer-events:none}.wall-scatter .scatter-card{position:absolute;top:50%;left:50%;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -24px #000000e6;will-change:transform,opacity;transform-origin:50% 50%}.wall-scatter .scatter-card img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.wall-card{position:relative;z-index:5;text-align:center;padding:0 24px}.wall-card:before{content:"";position:absolute;left:50%;top:50%;width:56vmin;height:32vmin;transform:translate(-50%,-50%);background:#000;z-index:-1}.wall-headline{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(2rem,4.5vw,4rem);line-height:.95;color:#fff;margin:0 0 32px}.wall-ctas{display:flex;gap:12px;justify-content:center}.wall-cta{display:inline-block;padding:14px 28px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;transition:background .3s,color .3s}.wall-cta-primary{background:#fff;color:#000}.wall-cta-primary:hover{background:#ffffffe0}.wall-cta-ghost{border:1px solid rgba(255,255,255,.4);color:#fff}.wall-cta-ghost:hover{background:#ffffff1a}@media (max-width: 768px){.wall-card:before{width:70vmin;height:38vmin}.wall-ctas{flex-direction:column;align-items:center}.wall-layer img{object-fit:contain;object-position:center}.wall-scatter .scatter-card{transform-origin:50% 50%}}.hero-label{font-size:12px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:24px;opacity:0}.hero-title{font-size:clamp(4.2rem,9vw,8rem);font-weight:200;line-height:1;letter-spacing:-.04em;margin-bottom:28px}.hero-title em{font-family:var(--font-display);font-style:italic;font-weight:700;color:var(--accent)}.hero-title .line{display:inline-block;overflow:hidden}.hero-title .line span{display:inline-block;opacity:0;transform:translateY(100%)}.hero-sub{font-size:1rem;line-height:1.7;color:#999;max-width:480px}.hero-scroll{display:flex;flex-direction:column;align-items:center;gap:16px;font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:#ffffff59;opacity:0;animation:fadeSlideUp 1s 1.8s var(--ease-out) forwards;writing-mode:vertical-rl}.scroll-line{position:relative;width:1px;height:72px;background:#ffffff0f;border-radius:1px;overflow:visible}.scroll-glow{position:absolute;left:50%;top:0;transform:translate(-50%);width:3px;height:24px;background:linear-gradient(to bottom,transparent,rgba(232,255,71,.4) 40%,rgba(232,255,71,.08));border-radius:2px;filter:blur(2px);animation:scrollTravel 2.4s cubic-bezier(.4,0,.2,1) infinite}.scroll-dot{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:5px;height:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 6px #e8ff4799,0 0 20px #e8ff4733;animation:scrollTravel 2.4s cubic-bezier(.4,0,.2,1) infinite}@keyframes scrollTravel{0%{top:-4px;opacity:0}10%{opacity:1}80%{opacity:1}to{top:calc(100% + 4px);opacity:0}}.action-area{display:flex;width:100%;padding-bottom:20px}@keyframes revealLine{to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:transform .9s cubic-bezier(.65,0,.35,1);will-change:transform}.preloader.exit{transform:translateY(-100%)}.preloader-content{display:flex;flex-direction:column;align-items:center;gap:32px}.logo-svg{width:clamp(140px,28vw,240px);height:auto;color:var(--fg)}.logo-path{stroke-dasharray:var(--path-len);stroke-dashoffset:var(--path-len);transition:none}.logo-path.draw{animation:drawStroke var(--draw-dur, .6s) var(--ease-out) forwards;animation-delay:var(--draw-delay, 0s)}@keyframes drawStroke{to{stroke-dashoffset:0}}.preloader-counter{font-family:var(--font);font-weight:300;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.3em;line-height:1;opacity:0;transition:opacity .4s var(--ease-out)}.preloader-counter.visible{opacity:1}.preloader-line{position:absolute;bottom:0;left:0;height:1px;background:var(--accent);width:0%;transition:width .15s linear}body.is-loading{overflow:hidden}#loading{display:none}.section{position:relative;padding:120px 40px}#work{padding-top:160px;padding-bottom:160px}#skills{padding-top:100px;padding-bottom:100px;overflow:hidden}.section-bg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.section-dark{background:var(--glass)}.section-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}.section-label{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:32px;transition:color .4s ease}.section h2{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:400;line-height:1;letter-spacing:-.02em;margin-bottom:48px}.pull-quote{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4.5rem);font-weight:400;font-style:italic;line-height:1.15;letter-spacing:-.02em;color:var(--fg);border-left:3px solid var(--accent);padding-left:32px;margin-bottom:64px;max-width:720px;transition:border-color .4s ease}.about-traits{display:grid;grid-template-columns:1fr 1fr;gap:40px 48px}.about-trait{display:flex;align-items:flex-start;gap:20px}.trait-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-medium);border-radius:12px;color:var(--accent);background:var(--glass)}.trait-icon svg{width:24px;height:24px}.trait-text h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:6px;color:var(--fg)}.trait-text p{font-size:.95rem;line-height:1.6;color:var(--muted);margin:0}.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:80px;padding-top:48px;border-top:1px solid var(--border)}.stat{aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:50%;background:#ffffff05;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;transition:border-color .4s ease,background .4s ease,transform .4s ease}.stat:hover{border-color:var(--accent);background:#ffffff0a;transform:translateY(-4px)}.stat-number{font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:300;color:var(--accent);letter-spacing:-.03em;line-height:1}.stat-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);max-width:14ch}.process-header{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);display:block;margin-bottom:80px}.timeline{position:relative;max-width:600px;margin:0 auto;padding-left:40px}.timeline-line{position:absolute;left:8px;top:0;bottom:0;width:2px;background:#ffffff14}.timeline-progress{position:absolute;left:8px;top:0;width:2px;height:0;background:var(--accent)}.timeline-node{position:relative;padding-bottom:80px}.timeline-node:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-37px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:var(--bg);transition:border-color .4s ease,background .4s ease}.timeline-dot.active{border-color:var(--accent);background:var(--accent)}.timeline-step{display:block;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:8px}.timeline-title{display:block;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:500;letter-spacing:-.02em;color:var(--fg);margin-bottom:12px}.timeline-desc{font-size:.95rem;line-height:1.65;color:var(--muted);max-width:420px;margin-bottom:0}.project-list{display:flex;flex-direction:column}.project-item{position:relative;display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg);transition:all var(--duration-slow) var(--ease-out)}.project-item:first-child{border-top:1px solid var(--border)}.project-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--glass);opacity:0;transition:opacity var(--duration-slow)}.project-item:hover:before{opacity:1}.project-item:hover{padding-left:24px;padding-right:24px;transform:translateY(-4px);box-shadow:0 16px 48px #00000040}.project-item:hover .project-name{color:var(--accent)}.project-item:hover .tag{border-color:#e8ff4733;color:#f0ece499}.project-info{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.project-name{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:300;letter-spacing:-.02em;transition:color var(--duration-normal) var(--ease-out)}.project-tags{display:flex;gap:8px}.tag{font-size:11px;letter-spacing:.5px;padding:4px 10px;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:var(--muted);transition:all var(--duration-normal) var(--ease-out)}.project-arrow{font-size:1.25rem;color:var(--muted);position:relative;z-index:1;transition:color var(--duration-normal) var(--ease-out)}.project-item:hover .project-arrow{color:var(--accent)}.marquee-strip{overflow:hidden;padding:40px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg)}.marquee-track{display:flex;gap:24px;white-space:nowrap;animation:marquee 30s linear infinite}.marquee-track span{flex-shrink:0}.marquee-item{font-size:clamp(2rem,4vw,4rem);font-weight:300;letter-spacing:.05em;color:transparent;-webkit-text-stroke:.5px rgba(240,236,228,.15);transition:all .4s}.marquee-item:hover{-webkit-text-stroke-color:var(--accent);color:#e8ff470f;text-shadow:0 0 60px rgba(232,255,71,.15)}.marquee-dot{font-size:clamp(2rem,4vw,4rem);color:var(--accent);opacity:.4}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.skills-grid{display:flex;justify-content:center;align-items:stretch;gap:28px;overflow:visible}.skill-cell{position:relative;width:260px;height:380px;flex-shrink:0;perspective:1000px;transform-style:preserve-3d;cursor:pointer;will-change:transform,opacity;contain:layout style}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}.card-inner:before{content:"";position:absolute;top:2px;bottom:2px;left:-1.5px;width:3px;background:linear-gradient(to bottom,#ffffff1a,#ffffff0d 50%,#0000001a);transform:rotateY(-90deg);transform-origin:right center;border-radius:1px}.card-inner:after{content:"";position:absolute;top:2px;bottom:2px;right:-1.5px;width:3px;background:linear-gradient(to bottom,#ffffff14,#00000014);transform:rotateY(90deg);transform-origin:left center;border-radius:1px}.card-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:10;background:radial-gradient(circle at var(--shine-x, 50%) var(--shine-y, 50%),rgba(255,255,255,var(--shine-opacity, 0)) 0%,transparent 60%);mix-blend-mode:overlay;opacity:0;transition:opacity .3s}.skill-cell:hover .card-shine{opacity:1}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;border:1.5px solid rgba(255,255,255,.12);overflow:hidden}.card-back{background:var(--bg-raised);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 7px var(--bg-raised),inset 0 0 0 8px #ffffff0f,0 4px 24px #00000040}.card-pattern{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:var(--fg)}.card-back-logo{position:relative;z-index:1;font-size:18px;font-weight:300;letter-spacing:.2em;color:var(--fg);opacity:.3}.card-back-num{position:absolute;top:20px;left:22px;font-size:13px;font-weight:600;color:var(--accent);letter-spacing:1px;opacity:.5;z-index:1}.skill-cell:not(.flipped):hover .card-back{box-shadow:inset 0 0 0 7px var(--bg-raised),inset 0 0 0 8px #ffffff1a,0 16px 48px #0006;border-color:#ffffff2e}.card-front{transform:rotateY(180deg);background:var(--bg-raised);padding:36px 28px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 7px var(--bg-raised),inset 0 0 0 8px #ffffff0f,0 4px 24px #00000040}.skill-cell.flipped:hover .card-front{box-shadow:inset 0 0 0 7px var(--bg-raised),inset 0 0 0 8px #ffffff1a,0 16px 48px #0006;border-color:#ffffff2e}.card-back:after{content:"Click to flip";position:absolute;bottom:22px;left:50%;transform:translate(-50%);font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .3s}.skill-cell:hover .card-back:after{opacity:.6}.heading-char{display:inline-block}.skill-number{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:1.5px;display:block;margin-bottom:20px}.skill-cell h3{font-size:1.1rem;font-weight:500;letter-spacing:-.01em;margin-bottom:12px}.skill-cell p{font-size:.88rem;line-height:1.65;color:var(--muted);max-width:none;margin-bottom:0}#contact{padding-top:200px;padding-bottom:160px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 4%,transparent) 0%,transparent 60%);position:relative;overflow:hidden}#contact:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,255,71,.15),rgba(255,255,255,.08),rgba(232,255,71,.15),transparent)}.contact-inner{text-align:center;max-width:none;width:100%;position:relative;padding:0 clamp(24px,4vw,64px)}.contact-subtitle{font-family:var(--font-mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#ffffff73;margin-bottom:clamp(32px,5vw,64px)}h2.contact-headline{font-family:Inter,Helvetica Neue,Arial,sans-serif!important;font-weight:500!important;font-size:clamp(3.5rem,13vw,14rem)!important;line-height:.85!important;letter-spacing:-.03em!important;color:var(--fg);margin-bottom:0}h2.contact-headline .hover-letters-line{display:block}h2.contact-headline .hover-letter{display:inline-block;transition:color .2s ease;cursor:default}h2.contact-headline .hover-letter:hover{color:#fff6}.contact-bottom{margin-top:clamp(48px,6vw,96px)}.contact-btn{position:relative;display:inline-block;padding:18px 44px;border-radius:40px;font-family:inherit;cursor:pointer;color:var(--accent);text-decoration:none;font-size:1rem;font-weight:500;letter-spacing:.5px;overflow:hidden;z-index:1;background:#e8ff4714;border:1px solid rgba(232,255,71,.25);box-shadow:0 4px 16px #0003,inset 1px 1px #e8ff4726,inset 0 -1px #0000001a;transition:color var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.contact-btn:before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transition:left .6s var(--ease-out);pointer-events:none;z-index:-1}.contact-btn:hover{background:#e8ff4726;border-color:#e8ff4780;box-shadow:0 8px 24px #e8ff4726,0 4px 12px #0003,inset 1px 1px #e8ff4740,inset 0 -1px #0000001a;color:var(--fg);transform:translateY(-2px)}.contact-btn:hover:before{left:100%}.copy-toast{display:block;margin-left:auto;margin-right:auto;width:fit-content;margin-top:12px;padding:6px 18px;font-size:13px;font-weight:500;letter-spacing:.5px;color:var(--bg);background:var(--accent);border-radius:20px;opacity:0;transform:translateY(8px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);pointer-events:none}.copy-toast.show{opacity:1;transform:translateY(0)}.social-links{display:flex;justify-content:center;gap:32px;margin-top:48px}.social-links a{color:var(--muted);text-decoration:none;font-size:14px;letter-spacing:.5px;padding:8px 20px;border-radius:20px;border:1px solid transparent;background:transparent;transition:color var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.social-links a:hover{color:var(--accent);background:#ffffff0f;border-color:#ffffff14;box-shadow:0 2px 8px #00000026,inset .5px .5px #ffffff1a}.section-divider{max-width:1100px;margin:0 auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 30%,transparent),transparent);transform:scaleX(0);transform-origin:center;transition:background .4s ease}.site-footer{padding:32px 40px;border-top:1px solid var(--border);overflow:hidden}.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-logo{font-size:16px;font-weight:500;letter-spacing:-.5px}.footer-copy{font-size:13px;color:var(--muted)}.reveal{opacity:0;transform:translateY(50px) scale(.97);filter:blur(4px);transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out),filter var(--duration-reveal) var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.reveal-scale{opacity:0;transform:scale(.92);filter:blur(6px);transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out),filter var(--duration-reveal) var(--ease-out)}.reveal-scale.visible{opacity:1;transform:scale(1);filter:blur(0)}.reveal-clip{clip-path:inset(0 100% 0 0);transition:clip-path var(--duration-reveal) var(--ease-out)}.reveal-clip.visible{clip-path:inset(0 0% 0 0)}.reveal-left{opacity:0;transform:translate(-40px) scale(.97);filter:blur(4px);transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out),filter var(--duration-reveal) var(--ease-out)}.reveal-left.visible{opacity:1;transform:translate(0) scale(1);filter:blur(0)}.split-line{overflow:hidden}.split-char{display:inline-block;will-change:transform,opacity}.split-word{display:inline-block}@media (max-width: 900px){.site-nav{padding:14px 16px}.nav-links{gap:10px}.nav-links a{font-size:10px;letter-spacing:.5px}.lang-toggle{font-size:10px;padding:4px 10px}.ui-layer{padding:72px 20px 20px}.hero-title{font-size:clamp(2.6rem,7vw,3.6rem)}.hero-sub{font-size:.95rem}.section{padding:64px 20px}#work{padding-top:80px;padding-bottom:80px}#skills{padding-top:64px;padding-bottom:64px}#contact{padding-top:100px;padding-bottom:80px}.contact-inner{padding:0 24px}.section h2{font-size:clamp(2rem,5.5vw,3rem);margin-bottom:32px}.pull-quote{font-size:clamp(1.8rem,4.5vw,2.8rem);padding-left:20px;margin-bottom:48px}.about-traits{grid-template-columns:1fr;gap:28px}.about-stats{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:48px;padding-top:32px}.stat-number{font-size:clamp(2.4rem,8vw,3.5rem)}.process-header{margin-bottom:48px}.timeline{padding-left:32px}.timeline-node{padding-bottom:48px}.timeline-title{font-size:1.2rem}.timeline-desc{font-size:.88rem}.skills-grid{flex-direction:column;align-items:center;gap:16px}.skill-cell{width:260px;max-width:80vw;height:380px}.project-item{flex-direction:column;align-items:flex-start;gap:8px;padding:20px 0}.project-name{font-size:clamp(1.3rem,2.5vw,1.6rem)}.project-tags{flex-wrap:wrap}.project-arrow{display:none}.project-item:hover{padding-left:0;padding-right:0;transform:none;box-shadow:none}.marquee-strip{padding:24px 0}.social-links{gap:20px;flex-wrap:wrap}.site-footer{padding:20px 16px}.footer-inner{flex-direction:column;gap:8px;text-align:center}.orb-1,.orb-2{opacity:.28}.orb-1{width:320px;height:320px;top:10%;left:-20%}.orb-2{width:240px;height:240px;bottom:15%;right:-15%}.hero-scroll{writing-mode:horizontal-tb;flex-direction:row}.scroll-line{width:48px;height:1px}.scroll-glow{width:20px;height:3px;top:50%;left:0;transform:translateY(-50%);background:linear-gradient(to right,transparent,rgba(232,255,71,.4) 40%,rgba(232,255,71,.08));animation:scrollTravelH 2.4s cubic-bezier(.4,0,.2,1) infinite}.scroll-dot{top:50%;left:0;transform:translate(-50%,-50%);animation:scrollTravelH 2.4s cubic-bezier(.4,0,.2,1) infinite}}@keyframes scrollTravelH{0%{left:-4px;opacity:0}10%{opacity:1}80%{opacity:1}to{left:calc(100% + 4px);opacity:0}}@media (max-width: 480px){.site-nav{padding:12px 14px}.nav-logo{font-size:14px;letter-spacing:.15em}.nav-links a:not(.lang-toggle){display:none}.nav-links{gap:8px}.lang-toggle{font-size:9px;padding:3px 8px}.ui-layer{padding:64px 16px 16px}.ui-layer main{margin-bottom:12px}.hero-title{font-size:clamp(2.2rem,9vw,3rem);margin-bottom:16px}.hero-label{font-size:10px;margin-bottom:16px}.hero-sub{font-size:.85rem;line-height:1.6}.section{padding:48px 16px}#work{padding-top:60px;padding-bottom:60px}#skills{padding-top:48px;padding-bottom:48px}#contact{padding-top:72px;padding-bottom:60px}.contact-inner{padding:0 16px}.contact-btn{padding:14px 32px;font-size:.9rem}.section-label{font-size:10px;margin-bottom:20px}.section h2{font-size:clamp(1.6rem,6vw,2.2rem);margin-bottom:24px}.pull-quote{font-size:clamp(1.5rem,5vw,2rem);padding-left:16px;margin-bottom:36px}.about-traits{gap:24px}.trait-icon{width:40px;height:40px;border-radius:10px}.trait-icon svg{width:20px;height:20px}.trait-text h3{font-size:1rem}.trait-text p{font-size:.85rem}.about-stats{gap:20px;margin-top:36px;padding-top:24px}.stat-number{font-size:2.2rem}.stat-label{font-size:10px}.process-header{margin-bottom:36px}.timeline{padding-left:28px}.timeline-dot{left:-33px;width:10px;height:10px}.timeline-node{padding-bottom:36px}.timeline-step{font-size:10px}.timeline-title{font-size:1.1rem}.timeline-desc{font-size:.82rem}.skill-cell{width:240px;max-width:75vw;height:360px}.card-front{padding:28px 22px}.skill-cell p{font-size:.82rem}.project-item{padding:16px 0}.project-name{font-size:clamp(1.1rem,4vw,1.4rem)}.tag{font-size:10px;padding:3px 8px}.social-links{gap:16px;margin-top:32px}.social-links a{font-size:12px}.footer-copy{font-size:11px}.marquee-item,.marquee-dot{font-size:1.6rem}}
