.pf-portfolio{--pf-purple: #7C3AED;--pf-purple-light: #A78BFA;--pf-purple-dark: #4C1D95;--pf-blue: #3B82F6;--pf-blue-light: #93C5FD;--pf-blue-dark: #1E3A5F;--pf-dark: #08080D;--pf-dark-2: #0E0E16;--pf-gray: #6B7280;--pf-gray-light: #9CA3AF;--pf-white: #F1F1F4;--pf-gradient: linear-gradient(135deg, var(--pf-purple), var(--pf-blue));--pf-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.pf-portfolio{font-family:var(--pf-font);color:var(--pf-white);background:var(--pf-dark);line-height:1.5;box-sizing:border-box;-webkit-font-smoothing:antialiased;position:relative}.pf-portfolio *,.pf-portfolio *:before,.pf-portfolio *:after{box-sizing:border-box;margin:0;padding:0}.pf-progress{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:100;height:120px;display:flex;align-items:center}.pf-progress-track{width:2px;height:100%;background:#ffffff14;border-radius:1px;position:relative}.pf-progress-fill{position:absolute;top:0;left:0;width:100%;background:var(--pf-gradient);border-radius:1px;transition:height .1s linear}.pf-progress-dot{position:absolute;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#ffffff26;transition:background .4s ease,box-shadow .4s ease}.pf-progress-dot-active{background:var(--pf-purple-light);box-shadow:0 0 8px #a78bfa80}@media(max-width:768px){.pf-progress{right:12px;height:80px}}.pf-hero{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;position:relative}.pf-hero-content{will-change:transform}.pf-hero-label{text-transform:uppercase;letter-spacing:.35em;font-size:.7rem;font-weight:500;color:var(--pf-purple-light);margin-bottom:28px}.pf-hero-title{font-size:clamp(2.2rem,6vw,4.5rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--pf-white);margin-bottom:24px}.pf-gradient-text{background:var(--pf-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pf-hero-subtitle{font-size:1.05rem;color:var(--pf-gray-light);font-weight:400;letter-spacing:.01em}.pf-hero-scroll-hint{position:absolute;bottom:48px;display:flex;flex-direction:column;align-items:center;gap:12px}.pf-scroll-indicator{width:20px;height:32px;border:1.5px solid rgba(255,255,255,.2);border-radius:10px;display:flex;justify-content:center;padding-top:6px}.pf-scroll-dot{display:block;width:3px;height:6px;border-radius:2px;background:var(--pf-purple-light);animation:pf-scroll-bounce 2s ease-in-out infinite}@keyframes pf-scroll-bounce{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(8px);opacity:.3}}.pf-scroll-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.2em;color:#ffffff40}.pf-scene{height:200vh;position:relative}.pf-scene-inner{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;will-change:opacity}.pf-scene-media{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.pf-scene-video{width:100%;height:100%;object-fit:cover}.pf-scene-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pf-dark);pointer-events:none}.pf-scene-content{position:relative;z-index:2;max-width:580px;padding:0 40px;will-change:transform}.pf-content-left{margin-right:auto;margin-left:8%;text-align:left}.pf-content-right{margin-left:auto;margin-right:8%;text-align:left}@media(max-width:768px){.pf-content-left,.pf-content-right{margin:0 auto;text-align:center;padding:0 24px}.pf-scene-line{margin-left:auto;margin-right:auto}}.pf-scene-number{font-size:.75rem;font-weight:600;letter-spacing:.15em;color:var(--pf-white);font-variant-numeric:tabular-nums;display:block;margin-bottom:16px}.pf-scene-number-total{color:var(--pf-gray);font-weight:400}.pf-scene-line{display:block;height:2px;border-radius:1px;margin-bottom:24px;will-change:width}.pf-scene-title{font-size:clamp(1.8rem,4vw,3.2rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--pf-white);margin-bottom:12px}.pf-scene-tagline{font-size:clamp(1rem,2vw,1.3rem);font-weight:500;margin-bottom:16px;letter-spacing:-.01em}.pf-scene-desc{font-size:.9rem;color:var(--pf-gray-light);line-height:1.7;max-width:420px}@media(max-width:768px){.pf-scene-desc{margin:0 auto}}.pf-text-reveal{display:inline}.pf-char{display:inline-block;will-change:opacity,transform;transition:none}.pf-scene-mockup{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.pf-scene-mockup.pf-mockup-purple{background:radial-gradient(ellipse at 30% 50%,#1a0a2e 0%,var(--pf-dark) 70%)}.pf-scene-mockup.pf-mockup-blue{background:radial-gradient(ellipse at 70% 50%,#0a1a3e 0%,var(--pf-dark) 70%)}.pf-scene-mockup.pf-mockup-gradient{background:radial-gradient(ellipse at 50% 50%,#150a30 0%,var(--pf-dark) 70%)}.pf-mockup-orb{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}.pf-mockup-orb-1{width:400px;height:400px;top:10%;right:15%;opacity:.35}.pf-mockup-orb-2{width:300px;height:300px;bottom:15%;left:10%;opacity:.25}.pf-mockup-orb-3{width:200px;height:200px;top:45%;left:40%;opacity:.2}.pf-mockup-purple .pf-mockup-orb-1{background:var(--pf-purple)}.pf-mockup-purple .pf-mockup-orb-2{background:var(--pf-blue-dark)}.pf-mockup-purple .pf-mockup-orb-3{background:var(--pf-purple-light)}.pf-mockup-blue .pf-mockup-orb-1{background:var(--pf-blue)}.pf-mockup-blue .pf-mockup-orb-2{background:var(--pf-purple-dark)}.pf-mockup-blue .pf-mockup-orb-3{background:var(--pf-blue-light)}.pf-mockup-gradient .pf-mockup-orb-1{background:var(--pf-purple)}.pf-mockup-gradient .pf-mockup-orb-2{background:var(--pf-blue)}.pf-mockup-gradient .pf-mockup-orb-3{background:var(--pf-purple-light)}.pf-closing{height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.pf-closing-text{font-size:clamp(1.3rem,3vw,2rem);font-weight:600;letter-spacing:-.02em;background:var(--pf-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pf-closing-line{display:block;width:40px;height:2px;background:var(--pf-gradient);border-radius:1px;opacity:.4}@media(max-width:480px){.pf-hero-title{font-size:2rem}.pf-scene-title{font-size:1.6rem}.pf-mockup-orb-1{width:250px;height:250px}.pf-mockup-orb-2{width:180px;height:180px}.pf-mockup-orb-3{width:120px;height:120px}}
