@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap";@layer reset{*,:after,:before{box-sizing:border-box;margin:0;padding:0}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{border:none;background:none;cursor:pointer;padding:0}button,input,select,textarea{font:inherit;color:inherit}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url]{-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{resize:vertical}audio,canvas,video{display:block;max-width:100%}table{border-collapse:collapse;border-spacing:0}blockquote,figcaption,figure,pre{margin:0}article,aside,footer,header,main,nav,section{display:block}:focus{outline:2px solid var(--accent,#e94560);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent,#e94560);outline-offset:2px}::-moz-selection{background:var(--accent,#e94560);color:var(--text-primary,#fff)}::selection{background:var(--accent,#e94560);color:var(--text-primary,#fff)}}:root{--font-body:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;--font-mono:"Fira Code","Courier New",monospace;--text-size-xs:12px;--text-size-sm:14px;--text-size-base:16px;--text-size-lg:18px;--text-size-xl:20px;--text-size-2xl:24px;--text-size-3xl:28px;--text-size-4xl:32px;--text-size-5xl:48px;--text-size-6xl:72px;--text-weight-light:300;--text-weight-normal:400;--text-weight-semibold:600;--text-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.6;--line-height-relaxed:1.8;--letter-spacing-wide:1px;--letter-spacing-wider:1.5px}.text-h1,h1{font-size:clamp(2rem,5vw,4.5rem);font-weight:var(--text-weight-bold);line-height:1.1;margin-bottom:20px;letter-spacing:var(--letter-spacing-wide)}.text-h2,h2{font-size:clamp(1.75rem,4vw,3rem);font-weight:var(--text-weight-light)}.text-h2,.text-h3,h2,h3{line-height:var(--line-height-tight);margin-bottom:15px;letter-spacing:var(--letter-spacing-wide)}.text-h3,h3{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:var(--text-weight-semibold)}.text-h4,h4{font-size:var(--text-size-2xl);margin-bottom:12px}.text-h4,.text-h5,h4,h5{font-weight:var(--text-weight-semibold);line-height:1.3;letter-spacing:var(--letter-spacing-wide)}.text-h5,h5{font-size:var(--text-size-xl);margin-bottom:10px}.text-h6,h6{font-size:var(--text-size-lg);font-weight:var(--text-weight-semibold);line-height:1.3;margin-bottom:10px;letter-spacing:var(--letter-spacing-wide)}body{font-family:var(--font-body);word-spacing:var(--letter-spacing-wider)}.text-body,body{font-size:var(--text-size-base);line-height:var(--line-height-normal)}.text-lead{font-size:var(--text-size-lg);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.text-small{font-size:var(--text-size-sm)}.text-small,.text-tiny{line-height:var(--line-height-normal);color:var(--text-secondary)}.text-tiny{font-size:var(--text-size-xs)}.blockquote{border-left:3px solid var(--accent);padding-left:16px;margin:16px 0;color:var(--text-primary);font-style:italic;line-height:var(--line-height-relaxed)}.list,.ordered-list,.unordered-list{display:flex;flex-direction:column;gap:8px;padding-left:20px}.list-item,.list-item-inline{color:var(--text-secondary);line-height:var(--line-height-normal)}a{text-decoration:underline;transition:var(--transition)}a:hover{color:var(--accent)}.btn,.btn-primary,.btn-secondary{font-weight:var(--text-weight-bold);padding:15px 35px;border:none;border-radius:3px;cursor:pointer;transition:var(--transition);text-decoration:none}.btn,.btn-primary,.btn-secondary,.label{font-size:var(--text-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.label{color:var(--text-secondary)}.badge,.label-sm,.modal-type,.skill-tag,.tag{font-size:var(--text-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.badge,.modal-type,.skill-tag,.tag{padding:6px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px}.caption{font-style:italic;margin-top:8px}.caption,.caption-sm{font-size:var(--text-size-xs);color:var(--text-secondary)}.caption-sm{opacity:.7}.code-inline,.sb-code-inline{font-family:var(--font-mono);font-size:var(--text-size-xs);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.code-block,.sb-code-block,.sb-pre{font-family:var(--font-mono);font-size:var(--text-size-sm);background:var(--bg-tertiary);border:1px solid var(--border);padding:12px;border-radius:8px;overflow-x:auto;line-height:var(--line-height-normal)}.text-muted{color:var(--text-secondary)}.text-accent{color:var(--accent)}.text-center{text-align:center}.text-uppercase{text-transform:uppercase}.text-bold{font-weight:var(--text-weight-bold)}@media(max-width:1024px){.text-h4,h4{font-size:var(--text-size-xl)}.text-h5,h5{font-size:var(--text-size-base)}.text-h6,h6{font-size:var(--text-size-sm)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardHighlight{0%{box-shadow:0 0 #e9456000}15%{box-shadow:0 0 20px 4px #e9456066}to{box-shadow:0 0 #e9456000}}:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a25;--accent:#e94560;--accent-secondary:#533483;--text-primary:#fff;--text-secondary:#a0a0b0;--border:#2a2a3a;--sidebar-width:80px;--transition:.4s cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}.content{margin-left:var(--sidebar-width);min-height:100vh}@media(max-width:1024px){.content{margin-left:0}}p{margin-bottom:15px;text-align:left}a{color:var(--accent)}hr{margin-top:16px;margin-bottom:16px}.section{min-height:100vh;margin:0 auto;padding:80px calc(var(--sidebar-width) + 40px);animation:fadeIn .5s ease-in-out;clip-path:inset(0)}.section-header{display:flex;align-items:baseline;gap:20px;margin-bottom:50px}.frame-number{font-family:var(--font-mono);font-size:var(--text-size-sm);color:var(--accent);font-weight:var(--text-weight-semibold);letter-spacing:2px}.section-header h2{font-size:var(--text-size-5xl);font-weight:var(--text-weight-light)}.hero{height:calc(100vh - 160px);display:flex;flex-direction:column;justify-content:center;position:relative;max-width:1200px}.hero-frame{border:1px solid var(--border);padding:60px;position:relative}.hero-frame:before{content:"";position:absolute;top:-1px;left:-1px;width:100px;height:100px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}.hero-frame h1{font-size:var(--text-size-6xl);font-weight:var(--text-weight-bold);line-height:var(--line-height-tight);margin-bottom:20px}@media(max-width:768px){.hero-frame{padding:30px 20px}.hero-frame h1{font-size:var(--text-size-4xl)}.hero-frame p{font-size:var(--text-size-base)}.cta-group{flex-direction:column}.btn-primary,.btn-secondary{text-align:center}}.hero-frame p{font-size:var(--text-size-lg);color:var(--text-secondary);margin-bottom:40px}.cta-group{display:flex;gap:20px}.btn-primary,.btn-secondary{padding:15px 35px;border:none;border-radius:3px;font-size:var(--text-size-sm);cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:1px;text-decoration:none}.btn-primary{background:var(--accent);color:var(--text-primary)}.btn-primary:hover{background:#ff6b81;transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.sb-paragraph,.sb-text{color:var(--text-secondary);line-height:var(--line-height-relaxed)}.sb-h1,.sb-h2,.sb-h3,.sb-h4,.sb-h5,.sb-h6,.sb-heading{color:var(--text-primary);font-weight:var(--text-weight-bold);line-height:var(--line-height-normal)}.sb-heading{margin-top:24px;margin-bottom:16px}.sb-list,.sb-ordered-list,.sb-unordered-list{display:flex;flex-direction:column;gap:8px;padding-left:20px}.sb-list-item,.sb-list-item-inline{color:var(--text-secondary);line-height:var(--line-height-normal)}.sb-link{text-decoration:underline;transition:var(--transition)}.sb-link,.sb-link:hover{color:var(--accent)}.sb-bold,.sb-strong{font-weight:var(--text-weight-bold);color:var(--text-primary)}.sb-italic{font-style:italic}.sb-strikethrough{text-decoration:line-through}.sb-quote{border-left:3px solid var(--accent);padding-left:16px;margin:16px 0;color:var(--text-primary);font-style:italic}.sb-code-block,.sb-pre{border:1px solid var(--border);padding:12px;border-radius:8px;overflow-x:auto;font-size:var(--text-size-sm)}.sb-code-block,.sb-code-inline,.sb-pre{background:var(--bg-tertiary);font-family:var(--font-mono)}.sb-code-inline{padding:2px 6px;border-radius:4px;font-size:var(--text-size-xs)}.modal-client{display:flex;gap:10px;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--border)}.client-label{color:var(--text-secondary)}.modal-gallery{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:40px;text-align:center}.gallery-placeholder{display:flex;flex-direction:column;gap:10px;color:var(--text-secondary)}.gallery-placeholder small{font-size:var(--text-size-xs);opacity:.7}.project-detail{display:flex;flex-direction:column;gap:25px}.project-viewer{width:100%}.project-viewer .sb-container{margin-bottom:15px}.preview-main:hover{border-color:var(--accent)}.preview-frame{width:100%;height:100%;background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center}.preview-label{font-size:var(--text-size-base);color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px}.preview-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.preview-main:hover .preview-overlay{opacity:1}.preview-overlay span{padding:12px 24px;background:var(--accent);border-radius:8px;font-size:var(--text-size-sm)}.card-highlighted .preview-frame,.card-highlighted .preview-main{animation:cardHighlight 2s ease-out}.card-highlighted .card-frame,.card-highlighted .preview-main{border-color:var(--accent)!important}.sb-viewer{width:100%}.sb-controls{align-items:center;gap:30px;margin-bottom:20px}.sb-controls,.sb-thumbnails{display:flex;justify-content:center}.sb-thumbnails{gap:12px}.sb-thumbnails .thumbnail{width:70px;height:45px}@media(max-width:1024px){.content{margin-left:0;margin-bottom:60px}.progress-bar{left:0}.section{padding:60px 16px}.hero-frame h1{font-size:var(--text-size-5xl)}.contact-content{grid-template-columns:1fr}}@media(max-width:480px){.section{padding:40px 12px}.hero{height:calc(100vh - 120px)}.hero-frame{padding:20px 12px}.hero-frame h1{font-size:var(--text-size-3xl)}.section-header{gap:12px;margin-bottom:30px}.section-header h2{font-size:var(--text-size-3xl)}}.sidebar[data-v-af379058]{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:30px 0;z-index:100;transition:var(--transition)}.logo[data-v-af379058]{font-size:24px;font-weight:700;color:var(--accent);margin-bottom:50px;letter-spacing:2px}.nav-links[data-v-af379058]{list-style:none;display:flex;flex-direction:column;gap:10px}.nav-links li[data-v-af379058]{flex:1}.nav-links a[data-v-af379058],.nav-links li[data-v-af379058]{display:flex;justify-content:center;align-items:center}.nav-links a[data-v-af379058]{width:50px;padding:5px 0;color:var(--text-secondary);text-decoration:none;border-radius:3px;transition:var(--transition);font-size:12px;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.nav-links a.active[data-v-af379058],.nav-links a[data-v-af379058]:hover{background:var(--accent);color:var(--text-primary)}.nav-wrapper[data-v-af379058]{position:relative;width:100%;overflow:hidden}.scroll-indicator[data-v-af379058]{position:absolute;top:0;bottom:0;width:40px;z-index:1;pointer-events:none;transition:opacity .2s ease;display:none}.scroll-indicator.hidden[data-v-af379058]{opacity:0}@media(max-width:1024px){.sidebar[data-v-af379058]{width:100%;height:60px;flex-direction:row;justify-content:space-between;inset:auto auto 0;border-right:none;border-top:1px solid var(--border);padding:0 30px env(safe-area-inset-bottom,0) 0;touch-action:manipulation}.logo[data-v-af379058]{margin-bottom:0;padding:0 15px;border:none}.nav-links[data-v-af379058]{flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.nav-links[data-v-af379058]::-webkit-scrollbar{display:none}.nav-links[data-v-af379058]{-ms-overflow-style:none;scrollbar-width:none}.nav-links li[data-v-af379058]{flex:unset;flex-shrink:0}.nav-links a[data-v-af379058]{writing-mode:horizontal-tb;transform:none;width:auto;min-width:80px;height:60px;padding:0 15px;scroll-snap-align:start;white-space:nowrap}.scroll-indicator[data-v-af379058]{display:block}.scroll-left[data-v-af379058]{left:0;background:linear-gradient(to right,var(--bg-secondary),transparent)}.scroll-right[data-v-af379058]{right:0;background:linear-gradient(to left,var(--bg-secondary),transparent)}}.progress-bar[data-v-01cc40ef]{position:fixed;top:0;left:var(--sidebar-width);right:0;width:100%;height:4px;background-color:var(--bg-secondary);border-radius:2px;overflow:hidden;z-index:100}.progress-fill[data-v-01cc40ef]{height:100%;background-color:var(--accent);transition:width .3s ease-in-out}@media(max-width:1024px){.progress-bar[data-v-01cc40ef]{left:0}}
